zoukankan      html  css  js  c++  java
  • MySQL数据复制 Hadoop 实时复制

    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。实时导入的过程如下图所示:

    MySQL数据复制 Hadoop 实时复制 - 北晴空 - DBA日志小记

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

    MySQL数据复制 Hadoop 实时复制 - 北晴空 - DBA日志小记

      详细信息:MySQL Applier for Hadoop

    版权声明:QQ:597507041

  • 相关阅读:
    centos6.5下redis的安装与配置
    (函数分治法)实现pow函数(x的y次方幂)
    (数组)大数相乘,相加
    (树)根据排序数组或者排序链表重新构建BST树
    (合并 重叠数组)练习容器的用法
    (动态规划)最小分糖果问题
    (链表)链表的排序问题
    (链表)链表和加法的混合
    (函数)实现strstr函数
    (字符串动态规划)一个字符串变成另一个字符串的步骤数
  • 原文地址:https://www.cnblogs.com/spzhangfei/p/4801755.html
Copyright © 2011-2022 走看看