Python+Spark2.0+hadoop学习笔记——Hadoop MapReduce

MapReduce是一种程序开发模式,可以使用大量服务器来并行处理。MapReduce,就是Map分配工作,Reduce将工作结果汇总整理。

本次之中以WordCount为范例,计算文件中每一个英文单词出现的次数。

1)创建wordcount目录

mkdir -p ~/wordcount/input

cd ~/wordcount

使用sudo gedit WordCount.java来编辑文档。

2)编译WordCount.java

sudo gedit ~/.bashrc

然后加入配置文件

让~/.bashrc设置生效

source ~/.bashrc

扫描二维码关注公众号,回复: 10225838 查看本文章

接下来开始编译

hadoop com.sun.tools.javac.Main WordCount.java

jar cf wc.jar WordCount*.class

ll

3)创建测试文本文件

cp /usr/local/hadoop/LICENSE.txt ~/wordcount/input

ll ~/wordcount/input

接下来启动所有虚拟服务器

启动集群

start-all.sh

上传测试文件到HDFS目录

hadoop fs -mkdir -p /user/wordcount/input

切换到~/wordcount/input目录

cd ~/wordcount/input

上传文本文件到HDFS

hadoop fs -copyFromLocal LICENSE.txt /user/wordcount/input

列出HDFS文件

hadoop fs -ls /user/wordcount/input

4)运行WordCount.java

切换目录

cd ~/wordcount

运行WordCount程序

hadoop jar wc.jar WordCount /user/wordcount/input/LICENSE.txt /user/wordcount/output

5)查看运行结果

查看HDFS的目录

hadoop fs -ls /user/wordcount/output

查看HDFS中的输出文件内容

hadoop fs -cat /user/wordcount/output/part-r-00000 |more

再次执行WordCount程序请先删除输出目录

hadoop fs -rm -R /user/wordcount/output

Hadoop的MapReduce不是很好用,这里简单介绍一下。

猜你喜欢

转载自www.cnblogs.com/zhuozige/p/12583709.html