阅读更多

6顶
0踩

数据库
MySQL复制操作可以将数据从一个MySQL服务器(主)复制到其他的一个或多个MySQL服务器(从)。试想一下,如果从服务器不再局限为一个MySQL服务器,而是其他任何数据库服务器或平台,并且复制事件要求实时进行,是否可以实现呢?

MySQL团队最新推出的 MySQL Applier for Hadoop(以下简称Hadoop Applier)旨在解决这一问题。



用途

例如,复制事件中的从服务器可能是一个数据仓库系统,如Apache Hive,它使用Hadoop分布式文件系统(HDFS)作为数据存储区。如果你有一个与HDFS相关的Hive元存储,Hadoop Applier就可以实时填充Hive数据表。数据是从MySQL中以文本文件形式导出到HDFS,然后再填充到Hive。

操作很简单,只需在Hive运行HiveQL语句'CREATE TABLE',定义表的结构与MySQL相似,然后运行Hadoop Applier即可开始实时复制数据。

优势

在Hadoop Applier之前,还没有任何工具可以执行实时传输。之前的解决方案是通过Apache Sqoop导出数据到HDFS,尽管可以批量传输,但是需要经常将结果重复导入以保持数据更新。在进行大量数据传输时,其他查询会变得很慢。且在数据库较大的情况下,如果只进行了一点更改,Sqoop可能也需要较长时间来加载。

Hadoop Applier则会读取二进制日志,只应用MySQL服务器上发生的事件,并插入数据,不需要批量传输,操作更快,因此并不影响其他查询的执行速度。

实现

Applier使用一个由libhdfs(用于操作HDFS中文件的C库)提供的API。实时导入的过程如下图所示:



数据库被映射作为一个单独的目录,它们的表被映射作为子目录和一个Hive数据仓库目录。插入到每个表中的数据被写入文本文件(命名如datafile1.txt),数据以逗号或其他符号分割(可通过命令行进行配置)。



详细信息:MySQL Applier for Hadoop

下载地址:mysql-hadoop-applier-0.1.0-alpha.tar.gz(alpha版本,不可用于生产环境)
  • 大小: 20.7 KB
  • 大小: 7.8 KB
  • 大小: 19.6 KB
  • 大小: 15.2 KB
  • 大小: 28.1 KB
  • 大小: 19 KB
  • 大小: 33.6 KB
  • 大小: 181.1 KB
  • 大小: 160.6 KB
  • 大小: 18.2 KB
6
0
评论 共 6 条 请登录后发表评论
6 楼 yugouai 2013-05-03 11:47
有朋友把MySQL Applier for Hadoop: Video Tutorial - YouTube(www.youtube.com/watch?v=AvDIWxpOdK8)这个视频共享一下吗,上不了youtube...谢了
5 楼 ysl_228 2013-04-24 09:42
不错~可以试着做点分布式的服务器了
4 楼 dacoolbaby 2013-04-23 16:01
增删改不行啊~~太可惜了啊!!
3 楼 supercrsky 2013-04-23 13:11
Deletes and updates, and DDLs may be handled in the future releases.
2 楼 yuriyan 2013-04-23 12:34
lookqlp 写道
请问,若mysql是insert update操作,applier应该不支持update hive文本数据吧?


In this first version WRITE_ROW_EVENTS are supported, i.e. only insert statements are replicated. Deletes and updates, and DDLs may be handled in the future releases. It would be great to get your requirements - please use the comments section in the Hadoop Applier blog.


看官方文档说明
1 楼 lookqlp 2013-04-23 11:32
请问,若mysql是insert update操作,applier应该不支持update hive文本数据吧?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 解决方案架构师的职责

    了解解决方案架构师的职责 1.分析用户需求 2.定义非功能性需求 3.参与并与利益相关者合作 4.处理各种架构约束 5.进行技术选择 6.开发概念证明和原型 7.设计解决方案并坚持交付 8.确保发射后的可操作性和维护 9.作为...

  • 云计算的应用解决方案

    这个体系结构如图3所示,它概括了不同解决方案的主要特征,每一种方案或许只实现了其中部分功能,或许也还有部分相对次要功能尚未概括进来。   图1 云计算技术体系结构   云计算技术体系结构分为4...

  • ES堆占用高问题分析与解决方案

    千亿级检索,ES JVM参数调优,解决OOM问题。

  • 分库分表常见问题和解决方案

    分库分表常见问题和解决方案

  • Java:Post请求无法获取传进来的参数解决方案

    文章目录问题:解决方案: 问题: 最近在测试一个接口的时候出现了一个参数不管怎么传都进去的问题,巨坑!!! 一开始我以为是参数名写错了,我又复制了一遍没有问题。结果用 postman 请求还是不行,后面又debug...

  • requirejs页面刷新失效js报错问题解决方案

    问题原因:requirejs是先加载本身在加载其他相关组件进入,所以每次进入时加载完毕,再次刷新时应为缓存相关的问题导致加载顺序错乱,让一些模块没有加载进来产生报错。解决方法: 使用原生js待页面加载完毕后在...

  • 缓存一致性问题解决方案(超全超易懂)

    文章目录 1、缓存模型和思路 2、缓存更新策略 3、两种解决方案 3.1、先删除缓存,再更新数据库 3.1.1延时双删(解决先删除缓存,再更新数据库产生的缓存不一致问题) 1、什么是延时双删 2、为什么要进行延迟双删?...

  • WebSocket集群解决方案

    最近做项目时遇到了需要多用户之间通信的问题,涉及到了WebSocket握手请求,以及集群中WebSocket Session共享的问题。 期间我经过了几天的研究,总结出了几个实现分布式WebSocket集群的办法,从zuul到spring cloud ...

  • web项目显示乱码解决方案整理

    在做web项目的时候,经常会遇到中文显示乱码 和 中文传参乱码的问题,在这里整理一份解决方案 首先,页面和传参出现乱码的原因:页面经过web服务器,浏览器处理,所以造成转码或者乱码的原因,可能涉及到:...

  • 缓存数据一致性-解决方案

    缓存数据一致性-解决方案

  • 大数据量下高并发同步的解决方案

    据库表的版本解决方案中,一般是通 过为数据库表增加一个 “version” 字段来  实现。  读取出数据时,将此版本号一同读出,之后更新时,对此版本号加一。此时,将提  交数据的版本数据与数据 库表对应记录...

  • redis分布式锁解决方案

    因此,Redisson就是使用Redisson解决了「锁过期释放,业务没执行完」问题 //redlock 实现分布式锁 最终方案 public boolean getRedLock(RedissonClient redisClient){ RLock lock = redisClient.getLock("REDLOCK_...

  • 更新BIOS翻车的进来查看解决方案

    正常更新完以后正常重启,重启后就进不去系统了,提示系统遇到了问题,需要重新启动...请出现问题的同学试一下吧,希望可以解决大家的问题。 参考 https://club.lenovo.com.cn/thread-2796247-1-1.html?highlight=achi

  • ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全

    "ModuleNotFoundError: No module named 'xxx'"这个报错是个非常常见的报错,几乎每个python程序员都遇到过,导致这个报错的原因也非常多,下面是我曾经遇到过的原因和解决方案 module包没安装 忘了import 没有__...

  • SDN典型解决方案

    Hello,大家好,又和大家见面了,前段时间由于个人原因博客迟迟没有更新,所以一直拖到...对,今天小白和您一起来侃侃SDN典型解决方案。先来看看SDN架构的核心--SDN控制器,不同厂商都有自己的SDN控制器,华三的H3C...

  • Unity Animation Instancing 官方解决方案初试

    Animation Instancing 是unity官方提出的高性能大规模动画解决方案,起初是为了解决企业用户的需求,后来在Github上开放。 Github地址: https://github.com/Unity-Technologies/Animation-Instancing 官方Blog...

  • 非常全面的数字人解决方案(含源码)

    数字人解决方案 实际应用案例 抖音虚拟主播 人机交互 数字站桶人 首先我先给数字人重新做一个定义:“把人数字化,以行人的职责”。怎么理解呢?我举两个例子就清楚了。第一个是现在直播带货,主播成本越来越高,...

  • java系统高并发的解决方案

    在数据库集群方面,很多数据库都有自己的解决方案,Oracle、Sybase等都有很好的方案,常用的MySQL提供的Master/Slave也是类似的方案,您使用了什么样的DB,就参考相应的解决方案来实施即可。 上面提到的数据库...

  • Visual Studio2019里解决方案资源管理器里文件不显示的问题

    1.当我们把其他地方的头文件或源文件及资源文件,通过 文件资源管理器 拷贝到项目里时,发现 在下方视图里看到。 解决方法是: 点击包括在项目中,就可以了。 这时可以在项目结构中看到了

  • Vue 项目中各种痛点问题及解决方案

    打包后生成很大的.map文件的问题 fastClick 的300ms延迟解决方案 组件中写选项的顺序 路由懒加载(也叫延迟加载) 开启gzip压缩代码 详情页返回列表页缓存数据和浏览位置、其他页面进入列表页刷洗数据的实践 css的...

Global site tag (gtag.js) - Google Analytics