Spark-Shell的使用
執行scala命令的spark-shell
進入spark的sbin目錄,打開鍵入
./spark-shell
即可進入spark-shell的目錄
spark-shell運行過程從上層來看,每一個spark應用都是由驅動器程序發起集群上的並行操作,在spark-shell中驅動器程序就是spark-shell本身。驅動器通過SparkContext對象來訪問spark。事實上在shell啟動時就創建了一個SparkContext的對象,其變量是sc,通過shell來查看sc如下
通過sc來讀取文件:
hello文件中的內容為
u'you,jump i,jump you,jump i,jump u,jump
我們在命令行鍵入
val lines = sc.textFile("/spark/hello”) lines.count() lines.first()
這里注意到,由於我的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-shell就算是正常執行,其中
讀取/spark/hello文件:
lines = sc.textFile('/spark/hello’)
獲取總行數:
lines.count()
第一行內容:
lines.first()
