Oracle实时提取Hadoop数据

时间:2014-12-12 00:24:09

标签: hadoop real-time

我需要实时将数据从Oracle数据库提取到Hadoop。

在Hadoop上实现这一目标的最佳方法是什么?

3 个答案:

答案 0 :(得分:4)

这里的重要问题是实时从Oracle DB中获取数据。这通常称为Change Data Capture或CDC。完整的解决方案取决于您如何执行此部分。

对于这个答案重要的其他事情是:

  • 数据的目标是什么?您打算用它做什么?
    • 只是存储普通的HDFS文件,并使用像Impala这样的adhoc查询进行访问?
    • 存储在HBase中以便在其他应用程序中使用?
    • 在像Storm这样的CEP解决方案中使用?
    • ...
  • 您的团队熟悉哪些工具
    • 您更喜欢DIY方法,将现有的开源工具粘合在一起并为缺失的部分编写代码吗?
    • 或者您更喜欢Informatica等数据集成工具吗?

回到CDC,有三种不同的方法:

  • 简单:如果您不需要真正的实时,并且有办法使用SQL查询识别新数据,该查询执行速度足以满足所需的数据延迟。然后你可以反复运行这个查询并摄取它的结果(确切的方法取决于目标,每个块的大小和首选工具)
  • 复杂:推出自己的CDC解决方案:下载数据库日志,将其解析为一系列插入/更新/删除,将这些日志提取到Hadoop。
  • 昂贵:购买CDC解决方案,为您执行此操作(如GoldenGateAttunity

答案 1 :(得分:2)

对@Nickolay提到的内容进行了扩展,有一些选择,但最好的选择是基于意见。

Tungsten(开源)

  

Tungsten Replicator是一个开源复制引擎,支持各种不同的提取器和应用程序模块。数据可以从MySQL,Oracle和Amazon RDS中提取,并应用于事务存储,包括MySQL,Oracle和Amazon RDS; NoSQL存储(如MongoDB)和数据仓库存储(如Vertica,Hadoop和Amazon rDS)。

Oracle GoldenGate

  

Oracle GoldenGate是一个全面的软件包,用于在异构IT环境中进行实时数据集成和复制。该产品集支持运营和分析企业系统之间的高可用性解决方案,实时数据集成,事务变更数据捕获,数据复制,转换和验证。它为HDFS提供了一个处理程序。

Dell Shareplex

  

用于Hadoop®的SharePlex™连接器可加载并连续复制从Oracle®数据库到Hadoop®群集的更改。这为您提供了维护源表的实时或近实时副本的所有好处

答案 2 :(得分:0)

Apache Sqoop是一种数据传输工具,用于通过JDBC连接(也支持Oracle)从具有hadoop HDFS的任何RDBMS传输批量数据。