在Hadoop環境裡面統計西遊記文章的片語(hdfs實驗)

王小王-123發表於2020-09-28

在Hadoop的環境裡面我們測試一個檔案,對西遊記這個書籍裡面的所有詞語,進行統計排序。hadoop包括兩個核心組成:HDFS:分散式檔案系統,儲存海量的資料MapReduce:並行處理框架,實現任務分解和排程。

hadoop執行機制

MapReduce工作原理

在這裡插入圖片描述

首先我們準備四個檔案,在自己Windows裡面已經寫好的,或者是從其他地方copy過來的(涉及一些引數和路徑的修改)

點選下載這四個參考檔案
前面兩檔案是實現我們的文章片語的分割處理和排序處理(Python檔案),後面的一個是執行檔案,最後一個是西遊記裡面的文章,這個裡面已經利用pycharm的jieba 庫做好的文字的處理,只有片語和空格,沒有標點符號和其他的東西。

在這裡插入圖片描述

準備:

首先開啟虛擬機器,啟動Hadoop

在這裡插入圖片描述
這樣就啟動成功了,有的時候我們很容易忽略這個,我的這臺機器配置了,開機自啟動,所以開啟虛擬機器就會自己啟動,但是如果沒有的話我們就需要利用下面的程式碼

start-all.sh

之後等待啟動OK,再去檢視即可

實驗過程

思路:

1.首先把檔案上傳到我們的虛擬機器home目錄,然後對其中三個檔案許可權進行修改。
2.修改run.sh 裡面的引數,Hadoop檔案路徑,Python檔案路徑。
3.上傳我們檔案到hdfs本地

實驗過程:

1.首先我們在home目錄裡面新建一個test1的資料夾,然後把這四個檔案拖到我們新建的這個資料夾裡面。然後我們去修改其中2個Python檔案的內容,一個sh的檔案路徑即可

whw@whw-hadoop:~/test1$ chmod 777 mapper.py 
whw@whw-hadoop:~/test1$ chmod 777 reduce.py 
whw@whw-hadoop:~/test1$ ll
總用量 1420
drwxr-xr-x  2 whw whw    4096 9月  25 23:44 ./
drwxr-xr-x 21 whw whw    4096 9月  28 22:02 ../
-rwxrwxrwx  1 whw whw     546 9月  25 23:44 mapper.py*
-rwxrwxrwx  1 whw whw    1038 9月  25 23:44 reduce.py*
-rwxrw-rw-  1 whw whw     275 9月  25 23:42 run.sh*
-rwxrw-rw-  1 whw whw 1431328 9月  24 21:45 xyj_stopwords.txt*
whw@whw-hadoop:~/test1$ 


2.然後我們再去本地的hdfs裡面建立一個test1的檔案

whw@whw-hadoop:~$ hdfs dfs -mkdir /test1
mkdir: `/test1': File exists
whw@whw-hadoop:~$ 

我這裡的檔案已經存在了,可以通過這個命令去驗證一下

hdfs dfs -ls /test1

然後把我們已經處理好一部分的西遊記檔案上傳到hdfs 本地檔案

hdfs dfs -copyFromLocal /home/whw/test1/xyj_stopwords.txt /test1/

注意copyFromLocal的大小寫,然後就是我們的這個檔案路徑,我們直接點選該檔案的屬性,複製路徑和檔名即可,再去終端貼上,最後一步就是把這個檔案放在那裡,我們放在本地的test1的資料夾下面,注意後面加了一個/,如果不加這個,就會給這個檔案重新命名了。

檢視

hdfs dfs -ls /test1/
hdfs dfs -cat /test1/xyj_stopwords.txt

在這裡插入圖片描述
3.修改run.sh

在這裡插入圖片描述
首先找到Hadoop的檔案路徑

sudo find / -name hadoop-stream*

在這裡插入圖片描述
修改完畢
在這裡插入圖片描述
注意由於我之前測試過一次,所以輸出檔案已經重複瞭如果去執行檔案的時候,發現以下頁面,我們只需要把之前的那個run.sh 裡面的那個輸出的result改成results即可!!

在這裡插入圖片描述
在這裡插入圖片描述
現在我們執行,但是必須在test終端開啟

./run.sh

在這裡插入圖片描述

我們可以在閒暇之餘,我們可以看看執行的過程,我們在我們的瀏覽器裡面輸入,回車即可

127.0.0.1:0880

也可以檢視我們Hadoop的配置以及其他引數

在這裡插入圖片描述
結果檢視

hdfs dfs -ls /st1/results
hdfs dfs -cat /test1/results/檔名

這裡的檔名是我們輸入第一條命令的時候會出現一個part檔案,把這個檔名名字複製貼上過來即可

在這裡插入圖片描述

最後注意關閉我們的Hadoop機器

stop-all.sh

每文一語

世界很大,總是會有很巧合的遇見!

相關文章