Spark Example


此文主要記錄學(xué)習(xí)spark2.0例子的一些信息。
spark2基本不需要安裝配置,直接裝上scala就行。當(dāng)然,有些example是依賴hadoop的hdfs的。因此你的機(jī)器上得先裝好對(duì)應(yīng)版本的hadoop。

spark2.0和spark早期版本有一些不同,早期的spark版本bin目錄下的腳本會(huì)和hadoop的啟動(dòng)腳本重名。好像spark1.6以后就沒(méi)這個(gè)問(wèn)題了,所以可以放心配置$PATH環(huán)境變量.

如果想通過(guò)scala腳本來(lái)做一些事情,直接在終端運(yùn)行spark-shell. 接下來(lái)你就可以編寫一下scala語(yǔ)句來(lái)做一些事情了。這個(gè)網(wǎng)上例子很多,不詳記。

run-example腳本就是專門用來(lái)運(yùn)行example的。所有的scala example都放在$SCALA_HOME/example/..../scala/...

比如運(yùn)行其中的一個(gè)例子,

$run-example SparkPi

接下來(lái)你會(huì)看到一堆的日志信息,完全不清楚輸出的結(jié)果是哪句。這些日志信息是很有用的,它會(huì)告訴你程序有沒(méi)有出錯(cuò),哪個(gè)job在執(zhí)行。但大多數(shù)正常情況不需要關(guān)注它。那就重定向輸出結(jié)果吧。

$run-example SparkPi > textout
$ more text
Pi is roughly 3.142875714378572

現(xiàn)在是不是結(jié)果清晰很多呢。

接下來(lái)看看sparkstreaming 的例子。開(kāi)兩個(gè)終端,一個(gè)作為“nc”終端,

$ nc -lk 9999 < readme.txt

意思是建立一個(gè)監(jiān)聽(tīng)服務(wù)器,端口為9999,允許多個(gè)客戶端連接。然后向?qū)懢彌_區(qū)輸入readme.txt的內(nèi)容。
打開(kāi)第二個(gè)終端運(yùn)行我們的spark streaming example.

$ run-example NetworkWordCount localhost 9999 > textout

這個(gè)就是運(yùn)行NetworkWordCount這個(gè)例子,參數(shù)為localhost和9999. 輸出信息重定向到textout. 接下來(lái)你會(huì)看到一大堆的log輸出,然后去打開(kāi)textout看你的結(jié)果。

跑例子的過(guò)程很簡(jiǎn)單,但是example的內(nèi)容還需去理解,注意example里的源碼不是改了就行的,還得提交,這樣run-example腳本才能用。還有像streaming, spark sql里面的很多例子是需要訪問(wèn)hdfs文件的,所以在這之前得讓你的hadoop run起來(lái)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容