mapreduce join mysql_MapReduce Hadoop程序连接数据

这里有两个数据集合在两个不同的文件中,如下所示:

24c82f9d15f2c2cb8bb518634cd919dc.png 

d4798a361e97d9f0c7dbd997f21692b9.png

DEPT_ID 键在这两个文件中常见的。

目标是使用 MapReduce 加入来组合这些文件。

输入: 我们的输入数据集是两个txt文件:DeptName.txt 和 DepStrength.txt

前提条件:

本教程是在 Linux 上开发 - Ubuntu操作系统

已经安装的Hadoop(本教程使用2.7.1版本)

Java的开发运行环境已经在系统上安装(本教程使用的版本是:1.8.0)

在我们开始实际操作之前,使用的用户 'hduser_'(使用 Hadoop 的用户)。

yiibai@ubuntu:~$ su hduser_

步骤

Step 1) 复制 zip 文件到您选择的位置

hduser_@ubuntu:/home/yiibai$ cp /home/yiibai/Downloads/MapReduceJoin.tar.gz /home/hduser_/

hduser_@ubuntu:/home/yiibai$ ls /home/hduser_/

操作过程及结果如下:

f97309827bba79933cb18aa98b012aca.png

Step 2) 解压缩ZIP文件,使用以下命令:

hduser_@ubuntu:~$ sudo tar -xvf MapReduceJoin.tar.gz

cc8f9819667522d20ec1389e43b006da.png

Step 3) 进入目录 MapReduceJoin/

hduser_@ubuntu:~$ cd MapReduceJoin/

Step 4)  启动 Hadoop

hduser_@ubuntu:~/MapReduceJoin$ $HADOOP_HOME/sbin/start-dfs.sh

hduser_@ubuntu:~/MapReduceJoin$ $HADOOP_HOME/sbin/start-yarn.sh

3f34582afb0a35398bb92901ddb96fa2.png

Step 5) DeptStrength.txt 和 DeptName.txt 用于此项目的输入文件

这些文件需要使用以下命令 - 复制到 HDFS 的根目录下,使用以下命令:

hduser_@ubuntu:~/MapReduceJoin$ $HADOOP_HOME/bin/hdfs dfs -copyFromLocal DeptStrength.txt DeptName.txt /

Step 6) 使用以下命令 - 运行程序

hduser_@ubuntu:~/MapReduceJoin$ $HADOOP_HOME/bin/hadoop jar MapReduceJoin.jar /DeptStrength.txt /DeptName.txt /output_mapreducejoin

f75037f1c3e6500f65d1333aa626ffa2.png

Step 7)

在执行命令后, 输出文件 (named 'part-00000') 将会存储在 HDFS目录 /output_mapreducejoin

结果可以使用命令行界面可以看到:

hduser_@ubuntu:~/MapReduceJoin$ $HADOOP_HOME/bin/hdfs dfs -cat /output_mapreducejoin/part-00000

810f16affdf9ae3abf188877dc953ecb.png

结果也可以通过 Web 界面查看(这里我的虚拟机的IP是 192.168.1.109),如下图所示:

457c36cbd1c00dd1075a91cbd52f8845.png

现在,选择 “Browse the filesystem”,并浏览到 /output_mapreducejoin

f638c97809f300b57724fa633f7be8b3.png

打开 part-r-00000

09c9e1d064f8d5ba1c80cef7bc92ef96.png

结果如下所示,点击 Download 链接下载:

084f8118ee5b0fbfbd372a6acdc51b1f.png

打开下载后的 文件,结果如下所示:

27cdbda724cf9832487c9acd47bd61da.png

注:请注意,下一次运行此程序之前,需要删除输出目录 /output_mapreducejoin

$HADOOP_HOME/bin/hdfs dfs -rm -r /output_mapreducejoin

另一种方法是使用不同的名称作为输出目录。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值