目录
代码流程及其解释
FileSystem 提供文件系统的接口,并且是工厂用于访问文件系统中的文件和其他对象的对象。
hadoop配置文件 自动获取hadoop-hdfs的配置文件
Configuration 配置文件 set.("dfs.replication","1");设置副本数为1
URI 配置网络 “hdfs://master:9000”
filesystem.get(uri,conf);
hadoop操作
fs.mkdir(new Path("/"))创建新路径
fs.delete(new Path("/data"),boolean)删除路径,true为迭代删除
fs.listStatus(new Path("/"))获取当前目录下的所有对象文件,返回一个数组
fs.getFileStatus(new Path("/"))返回当前文件
fs.open(new Path("/"))将该文件转化为FSDataInputStream
fs.create(new Path("/"))将该路径设置为一个FSDataOutputStream
fs.copyFromLocalFile(local,hdfs)复制到hdfs
fs.copyToLocalFile(boolean,path,local,boolean)下载
MapReduce的idea操作
1、设置一个静态类继承Mapper
hadoop中默认泛型为偏移量,行数据内容
2、设置一个静态类继承Reducer
3、main方法中配置mapreduce
Job.getInstance初始化job
setJobName 设置job名称
setJarByClass 设置mapreduce执行类
setMapperClass Map端所在的类的位置
setReducerClass Reduce端所在位置
setMapOutputKeyClass 指定Map端k的输出类型
setMapOutputValueClass 指定Map端v的输出类型
指定Reduce端kv输出类型
setOutputKeyClass
setOutputValueClass
指定路径
FileInputFormat.addInputPath(job,input路径)
FileOutputFormat.setOutputPath(job,out路径)
job.waitForCompletion(true)启动