您的位置:首页 > 运维架构

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

2015-09-10 11:38 609 查看


combine总结:

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

区别:

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

优点;

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

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

限制:

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






启动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或者中间过程中函数有不同于此的输出类型,则

必须到单独设置其类型否则运行时会报异常
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: