启动spark-shell时出现以下错误。我将使用 Spark 处理 SQL Server 中的数据。我可以忽略这些错误吗?
java.io.IOException:无法在 Hadoop 二进制文件中找到可执行文件 null\bin\winutils.exe。
java.lang.IllegalArgumentException:实例化“org.apache.spark.sql.hive.HiveSessionState”时出错
引起原因:java.lang.reflect.InitationTargetException:java.lang.IllegalArgumentException:实例化“org.apache.spark.sql.hive.HiveExternalCatalog”时出错:
引起原因:java.lang.IllegalArgumentException:实例化“org.apache.spark.sql.hive.HiveExternalCatalog”时出错
引起原因:java.lang.IllegalArgumentException:实例化“org.apache.spark.sql.hive.HiveExternalCatalog”时出错
引起的原因:java.lang.reflect.InitationTargetException:java.lang.reflect.InitationTargetException:java.lang.RuntimeException:java.lang.RuntimeException:运行命令获取文件权限时出错:java.io.IOException:(null)条目在命令字符串中: null ls -F C:\tmp\hive
引起原因:java.lang.reflect.InitationTargetException:java.lang.RuntimeException:java.lang.RuntimeException:运行命令获取文件权限时出错:java.io.IOException:命令字符串中的(null)条目:null ls -F C :\tmp\蜂巢
引起原因:java.lang.RuntimeException:java.lang.RuntimeException:运行命令获取文件权限时出错:java.io.IOException:命令字符串中的(null)条目:null ls -F C:\ tmp \ hive
tl;dr你宁愿不。
嗯,可能是possible,但鉴于您刚刚开始前往 Spark 土地的旅程,这些努力不会有回报。
Windows 对我来说从来都不是一个对开发人员友好的操作系统,每当我教人们 Spark 并且他们使用 Windows 时,我只是理所当然地认为我们必须经历winutils.exe
设置,但很多时候还包括如何在命令行上工作。
请安装winutils.exe
如下:
- Run
cmd
作为管理员
- 从下载 winutils.exe 二进制文件https://github.com/steveloughran/winutils https://github.com/steveloughran/winutils存储库(使用Spark 2 的 hadoop-2.7.1 https://github.com/steveloughran/winutils/blob/master/hadoop-2.7.1/bin/winutils.exe)
- 将 winutils.exe 二进制文件保存到您选择的目录中,例如
c:\hadoop\bin
- 设置 HADOOP_HOME 以反映带有 winutils.exe 的目录(不带
bin
), e.g. set HADOOP_HOME=c:\hadoop
- 设置 PATH 环境变量以包含
%HADOOP_HOME%\bin
- Create
c:\tmp\hive
目录
- Execute
winutils.exe chmod -R 777 \tmp\hive
- Open
spark-shell
并运行spark.range(1).show
查看单行数据集。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)