问题描述

最近换了一台电脑,将原电脑的spark streaming代码考到了新电脑上,使用IDEA运行却报错了

Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState'

The root scratch dir: /tmp/hive on HDFS should be writable

经检查发现是/tmp/hive这个文件夹权限不够

解决方法
  • 首先确保电脑上有hadoop,且配置了HADOOP_HOME环境变量
  • 确保有%HADOOP_HOME%\bin\winutils.exe,winutils.exe的获取方法可百度
  • CMD中执行下列代码,其中F是我的代码运行目录
%HADOOP_HOME%\bin\winutils.exe ls F:\tmp\hive
%HADOOP_HOME%\bin\winutils.exe chmod 777 F:\tmp\hive
%HADOOP_HOME%\bin\winutils.exe ls F:\tmp\hive

修改完成后即可正常运行spark streaming

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐