Apache spark pyspark:尽管向HADOOP_HOME添加了winutils,但出现错误:在HADOOP二进制文件中找不到可执行文件null\bin\winutils.exe
我在Apache spark pyspark:尽管向HADOOP_HOME添加了winutils,但出现错误:在HADOOP二进制文件中找不到可执行文件null\bin\winutils.exe,apache-spark,pyspark,Apache Spark,Pyspark,我在HADOOP\u HOME环境变量中设置了winutils.exe路径。我还为pyspark设置了其他路径,如python、spark、java以及PATH变量中的所有这些路径。在命令提示符下运行pyspark时,我仍然面临错误: ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bi
HADOOP\u HOME
环境变量中设置了winutils.exe
路径。我还为pyspark设置了其他路径,如python、spark、java以及PATH变量中的所有这些路径。在命令提示符下运行pyspark
时,我仍然面临错误:
ERROR Shell: Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:379)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:394)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:387)
at org.apache.hadoop.hive.conf.HiveConf$ConfVars.findHadoopBinary(HiveConf.java:2327)
at org.apache.hadoop.hive.conf.HiveConf$ConfVars.<clinit>(HiveConf.java:365)
at org.apache.hadoop.hive.conf.HiveConf.<clinit>(HiveConf.java:105)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at py4j.reflection.CurrentThreadClassLoadingStrategy.classForName(CurrentThreadClassLoadingStrategy.java:40)
at py4j.reflection.ReflectionUtil.classForName(ReflectionUtil.java:51)
at py4j.reflection.TypeUtil.forName(TypeUtil.java:243)
at py4j.commands.ReflectionCommand.getUnknownMember(ReflectionCommand.java:175)
at py4j.commands.ReflectionCommand.execute(ReflectionCommand.java:87)
at py4j.GatewayConnection.run(GatewayConnection.java:214)
at java.lang.Thread.run(Unknown Source)
.
.
.
pyspark.sql.utils.IllegalArgumentException: u"Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState':"
错误Shell:未能在hadoop二进制路径中找到winutils二进制文件
java.io.IOException:在Hadoop二进制文件中找不到可执行文件null\bin\winutils.exe。
位于org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:379)
位于org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:394)
位于org.apache.hadoop.util.Shell(Shell.java:387)
位于org.apache.hadoop.hive.conf.HiveConf$ConfVars.findHadoopBinary(HiveConf.java:2327)
位于org.apache.hadoop.hive.conf.HiveConf$ConfVars(HiveConf.java:365)
位于org.apache.hadoop.hive.conf.HiveConf.(HiveConf.java:105)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(未知源)
位于py4j.reflection.CurrentThreadClassLoadingStrategy.classForName(CurrentThreadClassLoadingStrategy.java:40)
位于py4j.reflection.ReflectionUtil.classForName(ReflectionUtil.java:51)
位于py4j.reflection.TypeUtil.forName(TypeUtil.java:243)
位于py4j.commands.ReflectionCommand.getUnknownMember(ReflectionCommand.java:175)
在py4j.commands.ReflectionCommand.execute(ReflectionCommand.java:87)
在py4j.GatewayConnection.run处(GatewayConnection.java:214)
位于java.lang.Thread.run(未知源)
.
.
.
pyspark.sql.utils.IllegalArgumentException:u“实例化'org.apache.spark.sql.hive.HiveSessionState'时出错:”
如何消除此错误?变量
HADOOP\u HOME
不应直接指向winutils.exe
,而是指向包含bin\winutils.exe
的文件夹
比如说
如果您有C:\hadoop\bin\winutils.exe
,则将hadoop\u HOME
设置为C:\hadoop