這裡有兩個資料集合在兩個不同的檔案中,如下所示:
DEPT_ID 鍵在這兩個檔案中常見的。
目標是使用 MapReduce 加入來組合這些檔案。
輸入: 我們的輸入資料集是兩個txt檔案:DeptName.txt 和 DepStrength.txt
前提條件:
在我們開始實際操作之前,使用的使用者 '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_/
操作過程及結果如下:
Step 2) 解壓縮ZIP檔案,使用以下命令:
hduser_@ubuntu:~$ sudo tar -xvf MapReduceJoin.tar.gz
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
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
Step 7)
在執行命令後, 輸出檔案 (named 'part-00000') 將會儲存在 HDFS目錄 /output_mapreducejoin
結果可以使用命令列介面可以看到:
hduser_@ubuntu:~/MapReduceJoin$ $HADOOP_HOME/bin/hdfs dfs -cat /output_mapreducejoin/part-00000
結果也可以通過 Web 介面檢視(這裡我的虛擬機器的IP是 192.168.1.109),如下圖所示:
現在,選擇 “Browse the filesystem”,並瀏覽到 /output_mapreducejoin
開啟 part-r-00000
結果如下所示,點選 Download 連結下載:
開啟下載後的 檔案,結果如下所示:
註:請注意,下一次執行此程式之前,需要刪除輸出目錄 /output_mapreducejoin
$HADOOP_HOME/bin/hdfs dfs -rm -r /output_mapreducejoin
另一種方法是使用不同的名稱作為輸出目錄。