通常、Hadoop入力データファイルが0byteである場合、ユーザが指定したMapアプリケーションは起動されません。Hadoop入力データファイルが0byteである場合でもMapアプリケーションを起動したい場合、このプロパティを有効化してください。
trueを指定した場合、Mapアプリケーションを起動します。
falseを指定した場合、Mapアプリケーションを起動しません。
設定内容 | 設定名 | 設定値 | 備考 |
---|---|---|---|
Hadoop入力データファイルが0byteの場合のアプリケーション起動 | extjoiner.map.alwaysRun | true false | 省略可 デフォルトはfalseです。 |
注意
このオプションが有効で、かつHadoop入力データファイルが0byteの場合、以下の動作となります。
Hadoopジョブ実行中にDFS上に一時ファイルが作成されます。ジョブが異常終了した場合、この一時ファイルがDFS上に残る可能性があります。この一時ファイルは、extjoiner.map.alwaysRunオプションを有効としたジョブが成功すると削除されます。
一時ファイルは、ジョブ実行ユーザーのDFS上のホームディレクトリ直下のextjoiner_dummyディレクトリ内に生成されます。ジョブ異常終了時に一時ファイルを削除する必要がある場合、上記ディレクトリを手動で削除してください。(ジョブ開始時に既に一時ファイルが存在していても、ジョブの実行に影響はありません)
作成される一時ファイルのサイズは、最大で64バイトです。
HadoopのログではMapタスクに1件のレコードが渡されたかのように表示されます。また、extjoiner.map.input.getRecordCountオプションでも同様にMapタスクに1件のレコードが渡されたかのように表示されますが、Mapアプリケーションにレコードが渡されることはありません。