0

複数のジョブを同時に実行できるユースケースがあります。すべてのジョブの出力は、重複のない HDFS (キーと値のペアを含む) の共通のマスター ファイルとマージする必要があります。この場合に発生する可能性のある競合状態を回避する方法がわかりません。例として、ジョブ 1 とジョブ 2 の両方が同時に同じ値をマスター ファイルに書き込み、重複が発生します。これについてあなたの助けに感謝します。

4

1 に答える 1

1

Apache Hadoop は、同じファイルへの並列書き込みをサポートしていません。ここに参照があります。

HDFS のファイルは一度だけ書き込み可能であり、厳密に常に 1 つのライターを持ちます。

そのため、複数のマップ/ジョブが同じファイルに同時に書き込むことはできません。複数のジョブの出力をマージするには、別のジョブ/シェルまたはその他のプログラムを作成する必要があります。

于 2012-11-01T02:54:16.530 に答える