1. 程式人生 > >Spark學習筆記之一

Spark學習筆記之一

目錄

最近做大資料專案,要用到Hadoop+Spark作為解決方案,因此學習Spark,這裡把學習過程中的問題記錄一下。

特別宣告,因為遇到的問題,基本都有前輩遇到並分享,解決方法大都參考自網路分享,參考引用內容都已標註並在文末附上了出處~ 感謝分享~

問題1:winnutils 未配置

問題描述

程式執行的過程中,報Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executablenull\bin\winutils.exe in the Hadoop binaries.

問題解決 1

出錯的原因在於window本地無法獲取hadoop的配置。
解決方法:
去GitHub下載

問題2:shell輸出INFO日誌

問題描述

spark-submit 輸出日誌把INFO級別日誌資訊也輸出,造成輸出內容過多。

問題解決2

解決基本思路:

進入到spark目錄/conf資料夾下,此時有一個log4j.properties.template檔案,拷貝一份為log4j.properties,開啟;

將其中的 log4j.rootCategory=INFO, console中的INFO改為WARN或者ERROR,儲存。

完成!

問題3:將jupyter notebook作為pyspark的預設編輯器3

問題描述

安裝完spark後,通過pyspark開啟spark,預設是直接在cmd中,當然不如在jupyter notebook中開啟來得爽~

問題解決

只需要新增兩個環境變數:

  • 新建系統變數PYSPARK_DRIVER_PYTHON,值設為 jupyter;
  • 新建系統變數PYSPARK_DRIVER_PYTHON_OPTS,值設為 notebook。

好了,重啟電腦(不一定是必須的,可以在一個cmd中修改path,然後重新開啟一個cmd ,就可以重新整理環境變數~~),開啟cmd,輸入pyspark,就是以jupyter開啟的了~

注意,這時候,在jupyter中自動建立了SparkContext物件sc,不需要自己建立了~否則會報錯。


  1. CSDN:解決Hadoop報錯:Failed to locate the winutils binary in the hadoop binary path ↩︎

  2. CSDN:解決spark-shell輸出日誌資訊過多 ↩︎

  3. CSDN:在win7下配置pyspark在jupyter notebook中使用的簡單方法 ↩︎