Google の Dataflow サービスを使用して Hadoop MR ジョブを実行することはできますか?
Dataflow サービスで実行できるようにしたい Hadoop MR ジョブがいくつかあります。Hadoop ジョブを完全に書き直さなくても、Dataflow サービスを利用できるようにしたいと考えています。
Google の Dataflow サービスを使用して Hadoop MR ジョブを実行することはできますか?
Dataflow サービスで実行できるようにしたい Hadoop MR ジョブがいくつかあります。Hadoop ジョブを完全に書き直さなくても、Dataflow サービスを利用できるようにしたいと考えています。
移行を容易にするために、Hadoop Mapper と Reducer をラップできる汎用の Dataflow Transform を定義して、コードを Dataflow Pipelines で再利用できるようにすべきだと思います。
AvroMapper と AvroReducer のラッパーとして機能するAvroMRTransformの最小限の実装を次に示します (つまり、Avro データである入力と出力にのみ使用できます)。
AvroMRTransformは機能しますが、ほぼ確実に処理できないケースがあります。また、カウンターなどの一連の Hadoop 機能もサポートしていません。
これらの理由から、これを一時的なストップ ギャップ対策以外の方法としてはお勧めしません (たとえば、アプリケーションに多くの MR ジョブが含まれていて、それらを一度にすべて書き換えたくない場合など)。
Hadoop MR API は非常に大きいので、最終的に Dataflow を使用してすべての機能をサポートすることは、おそらくアプリケーションを書き直すよりも多くの作業になるでしょう。