天天看點

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

第一步:通過Spark的shell測試Spark的工作

Step1:啟動Spark叢集,這一點在第三講講的極為細緻,啟動後的WebUI如下:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

Step2:啟動Spark Shell:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

此時可以通過如下Web控制台檢視shell的情況:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

Step3:把Spark安裝目錄“README.md”拷貝到HDFS系統上

在Master節點上新啟動一個指令終端,并進入到Spark安裝目錄下:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

我們把檔案拷貝到HDFS的root檔案夾下:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

此時,我們觀察一下Web控制台,會發現該檔案已經成功上傳到HDFS上:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

Step4:在Spark shell之下操作編寫代碼,操作我們上傳的“README.md”:

首先,我們看一下在Shell環境下的“sc”這個自動幫助我們生産的環境變量:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

可以看出sc就是SparkContext的執行個體,這是在啟動Spark Shell的時候系統幫助我們自動生成的,SparkContext是把代碼送出到叢集或者本地的通道,我們編寫Spark代碼,無論是要運作本地還是叢集都必須有SparkContext的執行個體。

接下來,我們讀取“README.md”這個檔案:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

我們把讀取的内容儲存給了file這個變量,其實file是一個MappedRDD,在Spark的代碼編寫中,一切都是基于RDD操作的;

再接下來,我們從讀取的檔案中過濾出所有的“Spark”這個詞

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

此時生成了一個FilteredRDD;

再接下來,我們統計一下“Spark”一共出現了多少次:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作
【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

從執行結果中我們發現“Spark”這個詞一共出現了15次。

此時,我們檢視Spark Shell的Web控制台:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

發現控制台中顯示我們送出了一個任務并成功完成,點選任務可以看到其執行詳情:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

那我們如何驗證Spark Shell對README.md這個檔案中的“Spark”出現的15次是正确的呢?其實方法很簡單,我們可以使用Ubuntu自帶的wc指令來統計,如下所示:

【Spark亞太研究院系列叢書】Spark實戰高手之路-第一章 建構Spark叢集(第四步)(1)...第一步:通過Spark的shell測試Spark的工作

發現此時的執行結果也是15次,和Spark Shell的計數是一樣一樣的。

版權聲明:本文為CSDN部落客「weixin_34112208」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_34112208/article/details/92156407