python+streaming实验:求出各部门人员名单
实验名称
求出各部门人员名单
实验目的
1、熟练理解和掌握MapReduce编程模型
2、掌握使用其他语言实现MapReduce
实验原理
http://hadoop.apache.org/docs/r1.0.4/cn/streaming.html
实验环境
Ubuntu 16.04
Hadoop 2.7.3
Python 3.6
实验步骤
上传文件
启动Hadoop
在hdfs上创建一个目录
将数据文件上传到目录代码
map代码:
reduce代码:
本地管道测试
创建一个sh文件,如read_data.sh,里面写入两句语句:
测试结果:
Hadoop运行
创建hadoop_emp.sh文件,写入要执行的命令
$HADOOP_HOME/bin/hadoop jar
$HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-2.7.3.jar
-files “/home/ubuntu/map.py,/home/ubuntu/reduce.py”
-input /001/mydemo/emp.csv,/001/mydemo/dept.csv
-output /001/mydemo/out00
-mapper “python map.py”
-reducer “python reduce.py”
运行hadoop_emp.sh
查看输出结果
hadoop运行结果: