Spark學習筆記之一
阿新 • • 發佈:2018-11-17
目錄
最近做大資料專案,要用到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,不需要自己建立了~否則會報錯。