JobConf conf= JobBuilder.ParseInputAndOutput(this,getConf(),args);
conf.SetInputFormat();
conf.SetMapperClass(...class);
.......
for (IntWritable val : values) {
sum += val.get();
迭代器功能 将values的值迭代放入val中
String uri = args[0];//uri 被赋值为第一个参数
Configuration conf = new Configuration();//新的接口
FileSystem fs = FileSystem.get(URI.create(uri),conf);//得到FileSystem实例
InputStream in = null;
try {
in = fs.open(new Path(uri));//打开 得到的是FSInputDataStream对象 它管理者datanode和namenode的IO 反复调用read 读取数据
IOUtils.copyBytes(in, System.out, 4096, false);//显示
InputStream in = new BufferedInputStream(new FileInputStream(localSrc));
//建立一个本地的InputStream
Configuration conf = new Configuration();//建立接口
FileSystem fs = FileSystem.get(URI.create(dst), conf);//创建文件系统实例
OutputStream out = fs.create(new Path(dst), new Progressable() 返回一个DSFOutputStream对象 管理datanode和namenode的通信 将数据分成数据包,而且管理一个队列来等待datanode的确认
String codecClassname = args[0];
Class<?> codecClass = Class.forName(codecClassname);
Configuration conf = new Configuration();
CompressionCodec codec = (CompressionCodec)
ReflectionUtils.newInstance(codecClass, conf);
CompressionOutputStream out = codec.createOutputStream(System.out);
org.apache.hadoop.conf
getConf()
setConf()