是否可以使用Google的Dataflow服务运行Hadoop MR作业?
我有几个Hadoop MR作业,希望能够在Dataflow服务上运行。我希望能够利用Dataflow服务,而不必完全重写Hadoop作业。
为了使迁移更容易,我认为应该可以定义一个通用的Dataflow转换,该转换可以包装Hadoop Mappers和Reducers,以便可以在Dataflow Pipelines中重用该代码。
这是一个非常小的实现AvroMRTransform,它充当AvroMapper和AvroReducer的包装器(即,它只能用于作为Avro数据的输入和输出)。
AvroMRTransform可以运行,但是几乎可以肯定它无法处理。它还不支持许多Hadoop功能,例如计数器。
由于这些原因,除了临时停止间隙度量外,我不建议使用其他任何方法(例如,您的应用程序包含许多MR作业,并且您不想一次全部重写它们)。
Hadoop MR API令我印象深刻,因此最终要使用Dataflow支持每个功能可能要比重写应用程序还要做更多的工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句