MySQL推出Applier,可实时复制数据到Hadoop
博客专区 > cookqq 的博客 > 博客详情
MySQL推出Applier,可实时复制数据到Hadoop
cookqq 发表于4年前
MySQL推出Applier,可实时复制数据到Hadoop
  • 发表于 4年前
  • 阅读 138
  • 收藏 7
  • 点赞 0
  • 评论 0

腾讯云 学生专属云服务套餐 10元起购>>>   

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),数据以逗号或其他符号分割(可通过命令行进行配置)。 


共有 人打赏支持
cookqq
粉丝 113
博文 268
码字总数 156096
×
cookqq
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: