码迷,mamicode.com
首页 > 其他好文 > 详细

IDEA本地运行spark生成数据到hive中出错

时间:2020-03-20 11:05:34      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:state   ror   数据   code   roo   mod   环境   程序   java   

在window下通过idea开发,在代码中需要spark,使用loacl模式,生成一些数据存放到hive中,使用的也是spark自带的hive库。

在idea 运行时报错:

Error while instantiating ‘org.apache.spark.sql.hive.HiveSessionState‘: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: ---------

报错信息可以看到是root想在/tmp/hive目录下写数据,而没有权限。
首先本地是否有/tmp/hive目录,再次确认此目录的权限。

解决办法:

从网上看到有帖子解决

  1. 系统中首先要配置hadoop环境和winutils工具
  2. 打开cmd命令提示符窗口,输入以下命令:
winutils.exe ls F:\tmp\hive
winutils.exe chmod 777 F:\tmp\hive
winutils.exe ls F:\tmp\hive

3.再次运行idea程序,最终还是报错

实际解决办法:

  1. 系统中还是要安装hadoop环境和winutils工具;
  2. 打开cmd窗口,切换到idea程序所在的盘符下。
    我的开发路径在e:\workspace下,所以在命令提示行下输入->: e: (回车即切换到e盘下)
    (命令提示符默认在C盘下操作,所以之前按照网上解决办法都是在c盘下创建tmp\hive目录,实际idea已经在E盘下创建了tmp\hive目录,只是没有权限)
  3. 在通过winutils进行对e盘下的tmp\hive目录赋权限即可。

IDEA本地运行spark生成数据到hive中出错

标签:state   ror   数据   code   roo   mod   环境   程序   java   

原文地址:https://blog.51cto.com/jxplpp/2480217

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!