複数の pig スクリプトからの出力を使用するエラスティック mapreduce パイプラインを実行しています。基本的に pig スクリプトの出力は S3 の特定の場所に保存され、データのサイズが巨大であるため、作成される出力ファイルは part-xxxxx という名前になります。
ここでの問題は、パイプラインのステップの 1 つで、2 つの異なる場所からコンテンツをコピーしてそれらをまとめ、このコレクション全体を処理することです。両方の場所にあるファイルの名前が似ているため (part-00000 から part-00342)、コピー プロセス中にファイルが上書きされます。
デフォルトで、pig は出力ファイルを特定の場所にそのようなファイル名の形式で生成します。最初は、豚の出力ファイルをディスクにダウンロードし、Python プログラムを作成して名前を変更し、S3 にアップロードし直していました。膨大な量のデータのため、今はそれを行うことができません。
私は実際にこのコピーを行うパイプライン ステップを所有していません。私が制御できるのは (おそらく) コピーされるファイルの名前だけです)。そのため、pig によって作成されたパーツ ファイルの名前にプレフィックスを付ける方法があるかどうかを知る必要があります。
ありがとう