Window 10下spark shell使用sparksql 时的 “entry in command string: null ls -F C:\tmp\hive”问题解决
很多情况下,我们在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语句,恢复正常