很多情況下,我們在window平台下用spark shell來進行交互式開發和測試,當在使用sparksql時,比如如下命令:
val myDF = spark.sql("select * from mytable")
可能會遇到下面的問題:
這是因為,spark在window平台讀取hdfs時,需要hadoop的支持,因此需要先安裝winutils.exe,winutils.exe不是hadoop的安裝包組件,可以從下面地址下載:
下載完后,將相應版本的 winutils.exe拷貝到SPARK_HOME\bin目錄,然后打開命令行窗口,執行下面命令更新目錄權限:
更改目錄權限 winutils chmod 777 c:\tmp\hive 查看目錄權限 winutils ls c:\tmp\hive
重新開啟spark-shell,執行sparksql語句,恢復正常