【发布时间】:2013-05-29 05:01:18
【问题描述】:
我的要求是
- 将数据从 Oracle 移动到 HDFS
- 在 HDFS 上处理数据
- 将处理后的数据移至 Teradata。
还需要每 15 分钟进行一次整个处理。源数据量可能接近 50 GB,处理后的数据也可能相同。
在网上查了很多,才发现
- ORAOOP 将数据从 Oracle 移动到 HDFS(将代码包含在 shell 脚本中并安排它以所需的时间间隔运行)。
- 通过自定义 MapReduce、Hive 或 PIG 进行大规模处理。
- SQOOP - Teradata 连接器将数据从 HDFS 移动到 Teradata(同样有一个带有代码的 shell 脚本,然后安排它)。
首先这是正确的选择吗?这在所需的时间段内是否可行(请注意,这不是每天的批次)?
我发现的其他选项如下
- STORM(用于实时数据处理)。但是我找不到开箱即用的 oracle Spout 或 Teradata bolt。
- 任何开源 ETL 工具,例如 Talend 或 Pentaho。
请分享您对这些选项以及任何其他可能性的想法。
【问题讨论】:
-
对不起,这是错字。它实际上是 50 GB。
-
Storm 可以解决这个问题,但正如您已经发现的那样,没有预建的 spout 和 bolts 来满足您的需要,因此您必须自己创建它们。也就是说,如果您发现您的解决方案无法以足够快的速度移动,您可能需要考虑使用 Storm 来处理数据,因为它在启动并运行后比使用 hadoop 具有更低的开销。
标签: oracle hadoop teradata apache-storm