MySQL数据复制 Hadoop 实时复制
2015-09-11 09:26
483 查看
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。实时导入的过程如下图所示:
![](http://www.searchdatabase.com.cn/upload/article/2013/2013-04-24-17-47-46.jpg)
数据库被映射作为一个单独的目录,它们的表被映射作为子目录和一个Hive数据仓库目录。插入到每个表中的数据被写入文本文件(命名如datafile1.txt),数据以逗号或其他符号分割(可通过命令行进行配置)。
![](http://www.searchdatabase.com.cn/upload/article/2013/2013-04-24-17-47-59.jpg)
详细信息:MySQL Applier for Hadoop
![](http://www.searchdatabase.com.cn/upload/article/2013/2013-04-24-17-47-46.jpg)
数据库被映射作为一个单独的目录,它们的表被映射作为子目录和一个Hive数据仓库目录。插入到每个表中的数据被写入文本文件(命名如datafile1.txt),数据以逗号或其他符号分割(可通过命令行进行配置)。
![](http://www.searchdatabase.com.cn/upload/article/2013/2013-04-24-17-47-59.jpg)
详细信息:MySQL Applier for Hadoop
相关文章推荐
- MySQL数据传递 Hadoop 非实时
- MySQL数据复制 Hadoop 实时复制
- MySQL 高可用架构在业务层面的应用分析
- Step5:SQL Server 跨网段(跨机房)FTP复制
- PLSQL developer 连接不上64位Oracle 的解决方法
- sql语句中----删除表数据drop、truncate和delete的用法
- PD16 Generate Datebase For Sql2008R2时报脚本错误“对象名sysproperties无效”
- MySQL监控、性能分析——工具篇
- MySQL中如何实现select top n
- 如何在64位windows操作系统上使用PLSQL Developer
- mysql ftp或者镜像站点,提供各个版本资源
- 不能使用tpcc-mysql测试OneProxy
- Mongo db 与mysql 语法比较
- NoSQL架构实践——以NoSQL为辅
- MySql常用维护命令1
- SqlBulkCopy块拷贝数据时,不履行触发器和束缚 解决办法
- table_open_cache参数对mysql性能的影响
- 用plsqldeveloper创建表为字段加注释时出现乱码解决方法
- PL SQL developer 乱码问题
- MySQL碰到UTC - mysqld got signal 11宕机一例