是否可以使用Google的Dataflow运行Hadoop MR作业?

时间:2015-01-20 04:58:32

标签: hadoop avro google-cloud-dataflow

是否可以使用Google的Dataflow服务运行Hadoop MR作业?

我有several个Hadoop MR作业,我希望能够在Dataflow服务上运行。我希望能够利用Dataflow服务,而无需完全重写我的Hadoop作业。

1 个答案:

答案 0 :(得分:0)

为了简化迁移,我认为应该可以定义一个通用的Dataflow Transform,它可以包装Hadoop Mappers和Reducers,以便代码可以在Dataflow Pipelines中重用。

这是一个非常小的实现AvroMRTransform,它充当AvroMapper和AvroReducer的包装器(即它只能用于Avro数据的输入和输出)。

AvroMRTransform有效,但几乎可以肯定它无法处理。它也不支持一堆Hadoop功能,例如计数器。

出于这些原因,除了临时停止间隙测量之外,我不会建议这样做(例如,您的应用程序包含许多MR作业,并且您不想一次性重写它们)。

Hadoop MR API让我觉得非常庞大,所以最终使用Dataflow支持每个功能可能只需要重写你的应用程序就可以做更多工作。