我需要实时将数据从Oracle数据库提取到Hadoop。
在Hadoop上实现这一目标的最佳方法是什么?
答案 0 :(得分:4)
这里的重要问题是实时从Oracle DB中获取数据。这通常称为Change Data Capture或CDC。完整的解决方案取决于您如何执行此部分。
对于这个答案重要的其他事情是:
回到CDC,有三种不同的方法:
答案 1 :(得分:2)
对@Nickolay提到的内容进行了扩展,有一些选择,但最好的选择是基于意见。
Tungsten(开源)
Tungsten Replicator是一个开源复制引擎,支持各种不同的提取器和应用程序模块。数据可以从MySQL,Oracle和Amazon RDS中提取,并应用于事务存储,包括MySQL,Oracle和Amazon RDS; NoSQL存储(如MongoDB)和数据仓库存储(如Vertica,Hadoop和Amazon rDS)。
Oracle GoldenGate是一个全面的软件包,用于在异构IT环境中进行实时数据集成和复制。该产品集支持运营和分析企业系统之间的高可用性解决方案,实时数据集成,事务变更数据捕获,数据复制,转换和验证。它为HDFS提供了一个处理程序。
用于Hadoop®的SharePlex™连接器可加载并连续复制从Oracle®数据库到Hadoop®群集的更改。这为您提供了维护源表的实时或近实时副本的所有好处
答案 2 :(得分:0)
Apache Sqoop是一种数据传输工具,用于通过JDBC连接(也支持Oracle)从具有hadoop HDFS的任何RDBMS传输批量数据。