Spark入門(一)用SparkShell初嘗Spark滋味

NO IMAGE

Spark-Shell的使用

執行scala命令的spark-shell

進入spark的sbin目錄,打開鍵入

./spark-shell

即可進入spark-shell的目錄

Spark入門(一)用SparkShell初嘗Spark滋味

spark-shell運行過程從上層來看,每一個spark應用都是由驅動器程序發起集群上的並行操作,在spark-shell中驅動器程序就是spark-shell本身。驅動器通過SparkContext對象來訪問spark。事實上在shell啟動時就創建了一個SparkContext的對象,其變量是sc,通過shell來查看sc如下

Spark入門(一)用SparkShell初嘗Spark滋味

通過sc來讀取文件:

hello文件中的內容為

u'you,jump
i,jump
you,jump
i,jump
u,jump

我們在命令行鍵入

val lines = sc.textFile("/spark/hello”)
lines.count()
lines.first()

Spark入門(一)用SparkShell初嘗Spark滋味

這裡注意到,由於我的sapark是在hadoop集群環境下的,所以這裡完整的目錄可以理解成hdfs:///spark/hello。

以上這條命令,就把spark目錄下hello文件裝載到sc當中,但事實上,由於spark的懶加載,此時的文件只有在被操作時才會真正被讀取,即lines.count()和lines.first()被執行時,才回去讀取內容

執行python命令的spark-shell

當然我們也可以用進入執行python命令的spark-shell。方法如下
進入spark的sbin目錄,打開鍵入

./pyspark-shell

通過python-shell統計hadoop文件目錄下的 /spark/hello文件,如下

lines = sc.textFile('/spark/hello’)
lines.count()
lines.first()

結果如下:

Spark入門(一)用SparkShell初嘗Spark滋味

到這裡我們的spark-shell就算是正常執行,其中

讀取/spark/hello文件:

lines = sc.textFile('/spark/hello’)

獲取總行數:

lines.count()

第一行內容:

lines.first()

相關文章

Spark入門(五)Spark的reduce和reduceByKey

Spark入門(四)Spark的map、flatMap、mapToPair

Spark入門(三)Spark經典的單詞統計

Spark入門(二)如何用Idea運行我們的Spark項目