0

Hadoop ストリーミング ジョブに複数のファイルを渡す必要があります。ドキュメントによると、 -file オプションはディレクトリも入力として受け取ります。しかし、うまくいかないようです。レデューサーは、ファイルが見つからないというエラーをスローします。他のオプションは、 -file オプションを使用して各ファイルを個別に渡すことです。これは、何百ものファイルがあることを考えると、あまり最適ではありません。もう1つのオプションは、ファイルを圧縮してtarballとして渡し、レデューサーで解凍することです

他のより良いオプションはありますか?

理想的には、 -file パラメータの値としてディレクトリを渡したいだけです

4

1 に答える 1

0

レデューサーがファイルが見つからないというエラーをスローするということですか? レデューサーがエラーをスローしている場合、ユーザーが結果フォルダーを読み取れないという問題のように思えます。

-file は間違いなくディレクトリで動作します。ディレクトリを取得し、フォルダー内の 6 つのファイルに対して実行する Hadoop ストリーミング ジョブがあります。

-file コマンドに指定されたパスは HDFS のパスであるため、lsコマンドを使用してパスが正しいことを確認してください。

最後に、ジョブの実行に使用しているユーザーでディレクトリを読み取る権限があることを確認してください。アクセス許可がない場合にどのようなエラーが発生するかは正確にはわかりませんが、「ファイルが見つかりません」というエラーである可能性があります。

于 2013-02-27T23:56:36.740 に答える