0

私はEMRで動作するスケーリングジョブを持っています。これは、複数のファイルを含むS3バケット上で実行されます。私はそれがネストされたバケツ、自身がファイルが含まれているバケットを含む、すなわちバケット上で実行したいスケーリングジョブを入力バケット上で再帰的に動作させるにはどうしたらいいですか?

MultipleTextLineFiles("s3://path/to/input/").read 
    /* ... some data processing ... */ 
    .write(Tsv("s3://paths/to/output/)) 

:ソースは、次のようになります。内部バケット内のすべてのファイルを処理する必要があります。私はソースを変更せずにこれを行うにしようと、私はこのエラーを取得する:

java.io.IOException: Not a file: s3://path/to/innerbucket 

は、どのように私はそれがネストされたバケット上で実行するために、このジョブを変更することができますか?あなたは、ネストの複数のレベルを持っている場合は、ファイルを取得するために複数のワイルドカードを使用し、

s3://path/to/input/* 

答えて

0

は、ワイルドカードを使用し

s3://path/to/input/*/*/* 
+0

私は、これはまた、正規表現スタイルの文字の選択を可能にすることがわかり、例えば'id-3'と' id-5'の 's3:// path/to/input/id- [35]'のようになります。 EMRからS3を読み込むためのこのワイルドカード構文のドキュメントへのリンクがありますか?代替( 'this | that')のような他の正規表現プリミティブは使用できますか? – fblundun

関連する問題