2012-11-26 36 views
1

我们有一个场景,我们希望单个Hadoop作业创建/管理多个映射器任务,其中每个映射器任务将查询关系数据库表中的一列子集。我们研究了DataDrivenDBInputFormat,但这似乎只是促进了分区,其中每个映射器任务都可以查询关系数据库表中的行的子集。映射器任务在不同的数据库列上工作

欣赏这方面的任何建议。谢谢。

+0

您正在使用哪个数据库? –

+0

而映射器工作在相同的行上,只是不同的列,对吧? –

+0

Oracle。是的,映射器针对相同的行,只是不同的列。 –

回答

0

我建议你编写一个读取两组列的联合的映射器。您可以在同一个映射器中执行多个映射器任务,或者仅将数据转储为具有多个后续映射器的顺序文件,仅使用该文件所需的数据。这取决于这两组映射器输出之间的相关程度,以及它们在多快的时间内(如果有的话)在流程后面输入相同的hadoop步骤。

相关问题