每日一句正能量
成長(zhǎng)是一條必走的路路上我們傷痛在所難免。
前言
在大數(shù)據(jù)處理和分析領(lǐng)域,Spark被廣泛應(yīng)用于解決海量數(shù)據(jù)處理和實(shí)時(shí)計(jì)算的挑戰(zhàn)。作為一個(gè)快速、可擴(kuò)展且易于使用的分布式計(jì)算框架,Spark為開(kāi)發(fā)人員提供了豐富的API和工具來(lái)處理和分析大規(guī)模數(shù)據(jù)集。
其中,Spark-Shell是Spark提供的一個(gè)交互式工具,它基于Scala語(yǔ)言,使得用戶能夠更加靈活和便捷地與Spark進(jìn)行交互。通過(guò)Spark-Shell,我們可以直接在命令行終端中編寫(xiě)和執(zhí)行Spark代碼,進(jìn)行數(shù)據(jù)探索和處理,以及進(jìn)行實(shí)時(shí)數(shù)據(jù)分析。
啟動(dòng)Spark-Shell只需幾個(gè)簡(jiǎn)單的步驟,然后我們就可以享受到交互式數(shù)據(jù)分析和開(kāi)發(fā)的樂(lè)趣。一旦啟動(dòng)了Spark-Shell,我們可以使用各種Spark命令來(lái)操作和處理數(shù)據(jù),包括數(shù)據(jù)加載、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)分析等。
本次教程將帶領(lǐng)你快速啟動(dòng)Spark-Shell,并介紹一些常用的Spark命令,幫助你更好地利用Spark進(jìn)行數(shù)據(jù)處理和分析。無(wú)論你是數(shù)據(jù)工程師、數(shù)據(jù)科學(xué)家還是對(duì)大數(shù)據(jù)感興趣的初學(xué)者,本教程都將為你提供一個(gè)良好的起點(diǎn),讓你能夠盡快上手Spark-Shell,并利用其強(qiáng)大的功能來(lái)解決實(shí)際問(wèn)題。
讓我們一起開(kāi)始探索Spark-Shell的奇妙世界吧!
2.5 啟動(dòng)Spark-Shell
Spark-Shell是一個(gè)強(qiáng)大的交互式數(shù)據(jù)分析工具,初學(xué)者可以很好的使用它來(lái)學(xué)習(xí)相關(guān)API,用戶可以在命令行下使用Scala編寫(xiě)Spark程序,并且每當(dāng)輸入一條語(yǔ)句,Spark-Shell就會(huì)立即執(zhí)行語(yǔ)句并返回結(jié)果,這就是我們所說(shuō)的REPL(Read-Eval-Print Loop,交互式解釋器),Spark-Shell支持Scala和Python,如果需要進(jìn)入Python語(yǔ)言的交互式執(zhí)行環(huán)境,只需要執(zhí)行“pyspark”命令即可。
2.5.1 運(yùn)行Spark-Shell命令
在spark/bin目錄中,執(zhí)行下列命令進(jìn)入Spark-Shell交互環(huán)境:bin/spark-shell --master <master-url>
- –master”表示指定當(dāng)前連接的Master節(jié)點(diǎn)
- 用于指定Spark的運(yùn)行模式
可取的詳細(xì)值如下所示。
如需查詢Spark-Shell的更多使用方式可以執(zhí)行“–help命令“獲取幫助選項(xiàng)列表,如下圖所示。
2.5.2 運(yùn)行Spark-Shell讀取HDFS文件
下面通過(guò)啟動(dòng)Spark-Shell,并組使用Scala語(yǔ)言開(kāi)發(fā)單詞計(jì)數(shù)的Spark程序,現(xiàn)有文本文件words.txt (讀者需要使用vi words.txt
命令在本地創(chuàng)建文件并上傳至指定目錄)在HDFS中的/spark/test路徑下, 且文本內(nèi)容如下。
hello hadoop
hello spark
hellp itcast
使用 hadoop fs -mkdir -p /spark/test
命令創(chuàng)建文件夾,使用 hadoop fs -put words.txt /spark/test
命令上傳文件。
如果使用Spark Shell來(lái)讀取HDFS中的/spark/test/ words.txt文件,具體步驟如下:
- 整合Spark和HDFS。
Spark加載HDFS上的文件,需要修改spark-env.sh配置文件,添加HADOOP_CONF_ DIR配置參數(shù),指定Hadoop配置文件的目錄,添加配置參數(shù)如下。
#指定HDFS配置文件目錄
export HADOOP_CONF_DIR=/export/servers/hadoop-2.7.4/etc/hadoop
在Hadoop01上修改后,將該spark-env.sh配置文件分發(fā)給hadoop02和hadoop03。命令如下
scp spark-env.sh hadoop02:/export/servers/spark/conf/
scp spark-env.sh hadoop03:/export/servers/spark/conf/
- 啟動(dòng)Hadoop、Spark服務(wù)。
配置完畢后,啟動(dòng)Hadoop集群服務(wù),并重新啟動(dòng)Spark集群服務(wù),使配置文件生效。
- 要重啟Hadoop,先要停掉Hadoop。
- 重啟Hadoop。
- 查看jps。
要先將它停了。返回上一級(jí)目錄,停掉spark,如下圖所示:
重啟spark。如下圖所示:
- 啟動(dòng)Spark –Shell編寫(xiě)程序。
啟動(dòng)Spark-Shell交互式界面,執(zhí)行命令如下。bin/spark-shell --master local[2]
執(zhí)行上述命令, Spark-Shell啟動(dòng)成功后, 就會(huì)進(jìn)入如下圖所示的程序交互界面。
SparkShell本身就是一個(gè)Driver, 它會(huì)初始化-個(gè)SparkContext對(duì)象為“sc”,用戶可以直接調(diào)用。下面編寫(xiě)Scala代碼實(shí)現(xiàn)單詞計(jì)數(shù),具體代碼如下。
scala > sc.textFile("/spark/test/words.txt").
flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
res0: Array[(String, Int)] = Array((itcast,1), (hello,3), (spark,1), (hadoop,1))
上述代碼中,res0表示返回的結(jié)果對(duì)象, 該對(duì)象中是一個(gè)Array[ ](String, Int)]類型的集合, (itcast, 1)則表示"itcast"單詞總計(jì)為1個(gè)。
4.退出Spark-Shell客戶端。
可以使用命令“:quit
”退出Spark-Shell,如下所示。scala > :quit
也可以使用快捷鍵“Ctrl+D",退出Spark Shell。
后記
在本次對(duì)Spark-Shell的啟動(dòng)和運(yùn)行命令的介紹中,我們學(xué)習(xí)了如何啟動(dòng)Spark-Shell并運(yùn)行Spark命令。
Spark-Shell是一個(gè)強(qiáng)大的交互式工具,可以讓我們快速地嘗試和測(cè)試Spark代碼,以及進(jìn)行數(shù)據(jù)探索和分析。通過(guò)在Spark-Shell中編寫(xiě)和運(yùn)行Spark命令,我們可以使用Spark的分布式計(jì)算能力來(lái)處理大規(guī)模的數(shù)據(jù),進(jìn)行數(shù)據(jù)清洗、轉(zhuǎn)換、建模和分析等操作。
了解Spark-Shell的基本使用方法和常見(jiàn)的Spark命令對(duì)于進(jìn)行Spark開(kāi)發(fā)和數(shù)據(jù)處理非常重要。在實(shí)際應(yīng)用中,可以根據(jù)具體需求使用Spark-Shell來(lái)進(jìn)行交互式數(shù)據(jù)分析和開(kāi)發(fā),從而提高工作效率。
在使用Spark-Shell時(shí),我們還可以使用其他輔助工具和庫(kù)來(lái)增強(qiáng)其功能,如使用Spark SQL進(jìn)行SQL查詢和分析、使用Spark Streaming進(jìn)行實(shí)時(shí)數(shù)據(jù)處理、使用Spark MLlib進(jìn)行機(jī)器學(xué)習(xí)等。
通過(guò)不斷學(xué)習(xí)和探索,我們可以更好地掌握Spark-Shell的使用技巧,并將其應(yīng)用于實(shí)際項(xiàng)目中。希望本次介紹能夠幫助你快速入門(mén)和使用Spark-Shell,并在Spark開(kāi)發(fā)中取得更好的成果。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-777267.html
轉(zhuǎn)載自:
歡迎 ??點(diǎn)贊?評(píng)論?收藏,歡迎指正文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-777267.html
到了這里,關(guān)于Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第二章 Spark基礎(chǔ)-05)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!