Hadoop学习笔记八之 combine 以及常用命令行 和全局变量

combine总结:

combine功能和reduce一样的,都是组合重复数据 起到聚合作用

区别:

combine属于map端函数,在本地对map产生数据进行分组聚合将得到结果通过网络传输给reduce

优点;

当到处理大量重复数据时,combine先在本地进行聚合,再把结果传输给reduce(实际\中间要经过shuffle处理,只是combine完成了shuffle和reduce工作)

这样就减少IO流,提高传输效率

限制:

当map中没有或者只有少量的重复数据时,他的工作效率和reduce一样

Hadoop学习笔记八之 combine 以及常用命令行 和全局变量_第1张图片




启动Hadoop

  • 进入HADOOP_HOME目录。
  • 执行sh bin/start-all.sh
  • 单步启动:

关闭Hadoop

  • 进入HADOOP_HOME目录。
  • 执行sh bin/stop-all.sh

 

1、查看指定目录下内容

hadoop dfs –ls [文件目录]

eg: hadoop dfs –ls /user/wangkai.pt

2、打开某个已存在文件

hadoop dfs –cat [file_path]

eg:hadoop dfs -cat /user/wangkai.pt/data.txt

3、将本地文件存储至hadoop

hadoop fs –put [本地地址] [hadoop目录]

hadoop fs –put /home/t/file.txt  /user/t   

(file.txt是文件名)

4、将本地文件夹存储至hadoop

hadoop fs –put [本地目录] [hadoop目录] 
hadoop fs –put /home/t/dir_name /user/t

(dir_name是文件夹名)

5、将hadoop上某个文件down至本地已有目录下

hadoop fs -get [文件目录] [本地目录]

hadoop fs –get /user/t/ok.txt /home/t

6、删除hadoop上指定文件

hadoop fs –rm [文件地址]

hadoop fs –rm /user/t/ok.txt

7、删除hadoop上指定文件夹(包含子目录等)

hadoop fs –rm [目录地址]

hadoop fs –rmr /user/t

8、在hadoop指定目录内创建新目录

hadoop fs –mkdir /user/t

9、在hadoop指定目录下新建一个空文件

使用touchz命令:

hadoop  fs  -touchz  /user/new.txt

10、将hadoop上某个文件重命名

使用mv命令:

hadoop  fs  –mv  /user/test.txt  /user/ok.txt   (将test.txt重命名为ok.txt)

11、将hadoop指定目录下所有内容保存为一个文件,同时down至本地

hadoop dfs –getmerge /user /home/t

12、将正在运行的hadoop作业kill掉

hadoop job –kill  [job-id]

//设置全局输出类型
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(NullWritable.class);

如果Map或者中间过程中函数有不同于此的输出类型,则
必须到单独设置其类型否则运行时会报异常

你可能感兴趣的:(MR)