Main メソッドで作成された String を Mapper クラスで共有する必要がある mapreduce プログラムを作成しています。これは、新しい mapreduce api を使用しています。私は適切にコーディングし、以下のように main メソッドの構成を使用して変数を設定しました。
Configuration conf = new Configuration();
Job job = new Job(conf);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmsss");
String date = sdf.format(new Date());
String ImagesDir = "/user/srini/images/"+ date;
conf.set("ImagesDir", ImagesDir);
次に、以下のように Mapper クラスのセットアップ メソッドで変数を選択しています。最初に String OutputPath としてクラスに変数を作成し、セットアップで次のことを行いました。
Configuration conf = context.getConfiguration();
OutputPath = conf.get("ImagesDir");
この変数を map メソッドで使用しました。問題は、変数 OutputPath の値が常に null であることです。古い mapred API で JobConf を使用してこれを試してみましたが、うまくいきました。どういうわけか、ここでうまくいかない。何が間違っていた可能性があります。私を助けてください..