如何实现hadoop系统与Oracle数据库的数据共享

如题所述

第1个回答  2017-09-26
您好,很高兴为您解答。通过Map/Reduce进行批处理递送到ApacheHadoop仍然是中枢环节。,但随着要从“超思维速度“分析方面获取竞争优势的压力递增,因此Hadoop(分布式文件系统)自身经历重大的发展。科技的发展允许实时查询,如ApacheDrill,ClouderaImpala和StingerInitiative正脱颖而出,新一代的资源管理ApacheYARN支持这些。为了支持这种日渐强调实时性操作,发布一个新MySQLApplierforHadoop(用于Hadoop的MySQLApplier)组件。它能够把MySQL中变化的事务复制到Hadoop/Hive/HDFS。Applier组件补充现有基于批处理ApacheSqoop的连接性。这个组件(MySQLApplierforHadoop)的复制是通过连接MySQL主服务,一旦二进制日志被提交,就读取二进制日志事务,并且把它们写到HDFS.这个组件使用libhdfs提供的API,一个C库操作HDFS中的文件。这库由Hadoop版本预编译生成的。它连接MySQL主服务读二进制日志,然后提取发生在主服务上的行插入事件,解码事件,提取插入到行的每个字段的数据,并使用满意的处理程序得到被要求的格式数据。把它追加到HDFS中一个文本文件。数据库被映射为单独的目录,它们的表映射为子目录,保存在数据仓库目录。每个表的数据被写到Hive/HDFS中文本文件(称为datafile1.txt)。数据可以用逗号格式分隔;或其他格式,那可用命令行参数来配置的。如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】希望我的回答对您有所帮助,望采纳!~O(∩_∩)O~