作者:铲除飞网败类 | 来源:互联网 | 2023-09-16 11:23
很多情况下,我们在window平台下用sparkshell来进行交互式开发和测试,当在使用sparksql时,比如如下命令:valmyDFspark.sql(&qu
很多情况下,我们在window平台下用spark shell来进行交互式开发和测试,当在使用sparksql时,比如如下命令:
val myDF = spark.sql("select * from mytable")
可能会遇到下面的问题:
![Window 10下spark shell使用sparksql 时的 “entry in command string: null ls -F C:\tmp\hive”问题解决 Window 10下spark shell使用sparksql 时的 “entry in command string: null ls -F C:\tmp\hive”问题解决](https://img1.php1.cn/3cd4a/24cea/cd5/696620b763ea6546.png)
这是因为,spark在window平台读取hdfs时,需要hadoop的支持,因此需要先安装winutils.exe,winutils.exe不是hadoop的安装包组件,可以从下面地址下载:
winutils下载
下载完后,将相应版本的 winutils.exe拷贝到SPARK_HOME\bin目录,然后打开命令行窗口,执行下面命令更新目录权限:
更改目录权限
winutils chmod 777 c:\tmp\hive
查看目录权限
winutils ls c:\tmp\hive
重新开启spark-shell,执行sparksql语句,恢复正常