Hadoop連携機能では、Hadoop入力データファイルが0バイトである場合、ユーザーが指定したReduceアプリケーションは復帰値を返却しません。
このプロパティを有効にした場合(trueを指定した場合)、Hadoop入力データファイルが0バイトである場合でもReduceアプリケーションの復帰値をHadoopジョブの復帰値として返却します。
設定内容 | 設定名 | 設定値 | 備考 |
---|---|---|---|
Hadoop入力データファイルがバイトの場合のReduceアプリケーションの復帰値返却の指定 | extjoiner.reduce.alwaysReturnExitcode | true false | 省略可 デフォルトはfalseです |
注意
このプロパティが有効で、かつHadoop入力データファイルが0バイトの場合、以下の動作となります。
Hadoopジョブ実行中にHadoopファイルシステム上に一時ファイルが作成されます。この一時ファイルは、ジョブ終了後も削除されません。
一時ファイルは、ジョブ実行ユーザーのHadoopファイルシステムホームディレクトリ直下のextjoiner_dummyディレクトリ内に生成されます。
ジョブ終了時に一時ファイルを削除する必要がある場合、上記ディレクトリを手動で削除してください。(一時ファイルが存在していても、ジョブの実行に影響はありません)
作成される一時ファイルのサイズは、最大で64バイトです。
HadoopのログではReduceタスクに、Hadoop入力データファイルの個数分のレコードが渡されたかのように表示されますが、 Reduceアプリケーションにレコードが渡されることはありません。
例えば、extjoiner.reduce.input.getRecordCountプロパティが有効な場合、Reduceタスクの入力に、Hadoop入力データファイルの個数分のレコードが渡されたかのように表示されます。