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

ca9*_*3d9 3 apache-spark

启动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.InvocationTargetException: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.InvocationTargetException:java.lang.reflect.InvocationTargetException:java.lang.RuntimeException:java.lang.RuntimeException:运行命令以获取文件权限时出错:java.io.IOException:(null)entry in命令字符串:null ls -FC:\ tmp\hive

引发者:java.lang.reflect.InvocationTargetException:java.lang.RuntimeException:java.lang.RuntimeException:运行命令以获取文件权限时出错:java.io.IOException:(null)命令字符串中的条目:null ls -FC :\ tmp目录\蜂巢

引发者:java.lang.RuntimeException:java.lang.RuntimeException:运行命令获取文件权限时出错:java.io.IOException:(null)命令字符串中的条目:null ls -FC:\ tmp\hive

Jac*_*ski 11

tl;博士你不愿意.

嗯,这可能是有可能的,但鉴于你刚刚开始前往Spark的土地,这些努力将无济于事.


Windows对我来说从来就不是一个对开发人员友好的操作系统,每当我教人们Spark并且他们使用Windows时我只是认为我们必须经历winutils.exe设置,但很多时候也需要如何在命令行上工作.


请安装winutils.exe如下:

  1. cmd以管理员身份运行
  2. https://github.com/steveloughran/winutils存储库下载winutils.exe二进制文件(对于Spark 2使用hadoop-2.7.1)
  3. 将winutils.exe二进制文件保存到您选择的目录中,例如 c:\hadoop\bin
  4. 设置HADOOP_HOME以反映winutils.exe(没有bin)的目录,例如set HADOOP_HOME=c:\hadoop
  5. 将PATH环境变量设置为include %HADOOP_HOME%\bin
  6. 创建c:\tmp\hive目录
  7. 执行 winutils.exe chmod -R 777 \tmp\hive
  8. 打开spark-shell并运行spark.range(1).show以查看单行数据集.