sparkpy 坚持 HDFS 上的 root scratch dir: /tmp/hive 应该是可写的
Posted
技术标签:
【中文标题】sparkpy 坚持 HDFS 上的 root scratch dir: /tmp/hive 应该是可写的【英文标题】:sparkpy insists that root scratch dir: /tmp/hive on HDFS should be writable 【发布时间】:2019-07-12 04:17:45 【问题描述】:我正在尝试运行一个访问 hive 服务器的 pyspark 程序。程序通过抛出错误终止
pyspark.sql.utils.AnalysisException: 'java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwxrwxr-x;
现在,The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: -wx------ 建议我将其更改为 777。我做到了。
drwxrwxrwx - hadoopuser supergroup 0 2019-07-03 06:39 /tmp/hive
但是,pyspark 仍然会抛出相同的错误。
因此,我决定将暂存目录文件夹更改为 /tmp/sparkpy。我在 hive-site.xml 注册了此更改
我重新启动了 hiveserver2,Beeline 确认更改已注册。
+------------------------------------+
| set |
+------------------------------------+
| hive.exec.scratchdir=/tmp/sparkpy |
+------------------------------------+
1 row selected (0.028 seconds)
但是,pyspark 仍然停留在 /tmp/hive 并坚持认为它不可写。
【问题讨论】:
【参考方案1】:我也面临同样的问题。最后,我得到了答案 /tmp/hive location is present in your local system。
sudo chmod -R 777 /tmp
上面的命令为我解决了问题。
【讨论】:
以上是关于sparkpy 坚持 HDFS 上的 root scratch dir: /tmp/hive 应该是可写的的主要内容,如果未能解决你的问题,请参考以下文章