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运行结果:
在这里插入图片描述