C# で記述された 4 ノードの HDInsight クラスターで M/R ジョブを実行しています。Mapper クラスの 1 つは、Azure テーブル ストレージを使用してビジネス固有のルールを適用します。
CloudTable、CloudTableClient、および CloudStorageAccount オブジェクトが作成されていない場合、M/R ジョブは正しく実行されます。
ただし、同じオブジェクト参照を追加すると、エラーが発生し、ジョブの実行が停止します。コード スニペットの一部を以下に示します。
public class TopProgMapper : MapperBase
{
CloudTable table = null;
CloudStorageAccount storageAccount = null;
CloudTableClient tableClient = null;
//The above objects are instantiated and queried in the Mapper ctor
public TopProgMapper()
{
// instantiation code here, which currently has been commented
}
}
上記のように、マッパーの ctor 内のコードは、オブジェクト参照が作成されていない場合でも、実行エラーとしてコメントされています。
MapReduceResult オブジェクト (Info.ExitCode) から受け取ったエラー コードは 1 で、M/R コードの問題を示しています。ただし、残りのコードは問題なく実行され、上記の参照オブジェクトが作成されていない場合でも正しい出力が生成されます。
これに関するヘルプは大歓迎です。必要に応じて、追加の詳細を提供します。
よろしくお願いします、 Subho