HDFS使用反射创建自定义Mapper对象
1、在HDFSWordCountApp01.java中,不建议采取以下方式新建mapper对象
ImoocMapper mapper = new WordCountMapper();
2、WordCount.properties
在WordCount.properties中,添加WordCountMapper类地址:
MAPPER_CLASS=com.imooc.bigdata.hadoop.hdfs.WordCountMapper
获取值方式:
在WordCountMapper.java中,选中WordCountMapper,并右击,选择copy reference即可获取值。
3、Constants.java
在Constants.java添加:
public static final String MAPPER_CLASS = "MAPPER_CLASS";
4、在HDFSWordCountApp01.java中,通过反射创建对象
//TODO... 自定义处理类 //ImoocMapper mapper = new WordCountMapper(); ImoocContext context = new ImoocContext(); //TODO... 通过反射创建对象 Class<?> clazz = Class.forName(properties.getProperty(Constants.MAPPER_CLASS)); ImoocMapper mapper = (ImoocMapper)clazz.newInstance();//这样new出来是ImoocMapper.java接口




浙公网安备 33010602011771号