Windows 上的 Spark-shell 错误 - 如果不使用 hadoop 可以忽略它吗?

2024-03-16

启动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如下:

  1. Run cmd作为管理员
  2. 从下载 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)
  3. 将 winutils.exe 二进制文件保存到您选择的目录中,例如c:\hadoop\bin
  4. 设置 HADOOP_HOME 以反映带有 winutils.exe 的目录(不带bin), e.g. set HADOOP_HOME=c:\hadoop
  5. 设置 PATH 环境变量以包含%HADOOP_HOME%\bin
  6. Create c:\tmp\hive目录
  7. Execute winutils.exe chmod -R 777 \tmp\hive
  8. Open spark-shell并运行spark.range(1).show查看单行数据集。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 上的 Spark-shell 错误 - 如果不使用 hadoop 可以忽略它吗? 的相关文章

随机推荐