最近在写mapreduce时,遇到一个问题,在class中定义的全局变量,在用eclipse开发时,mapreduce函数内部能取到参数变量,但是打包成jar包,用hadoop jar xxx.jar className 运行的 时候,发现map或者reduce函数中取不到全局变量!!!很郁闷,最后想了一下有可能这跟分布式有关!
换了一种思路,最后解决了!!
就是在main方法中
Configuration conf=HBaseConfiguration.create();
conf.setStrings("date", getGraduate_date());
将变量date设置到conf中,map或者reduce函数获取的时候,可以这样:
Configuration conf=HBaseConfiguration.create();
conf.setStrings("date", getGraduate_date());
这样就OK了!