我正在尝试运行一个访问 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;
现在,HDFS上的根暂存目录:/tmp/hive应该是可写的。当前权限是:-wx------建议我应该将其 chmod 为 777。我做了。
drwxrwxrwx - hadoopuser supergroup 0 2019-07-03 06:39 /tmp/hive
但是,pyspark 仍然会抛出相同的错误。
因此,我决定将暂存目录文件夹更改为/tmp/sparkpy。我在蜂巢网站上注册了此更改.xml
我重新启动了 hiveserver2,Beeline 确认更改已注册。
+------------------------------------+
| set |
+------------------------------------+
| hive.exec.scratchdir=/tmp/sparkpy |
+------------------------------------+
1 row selected (0.028 seconds)
然而,pyspark 仍然停留在/tmp/hive,并坚持认为它是不可写的。
我也面临着同样的问题。最后,我得到了答案/tmp/hive位置存在于您的本地系统中。
sudo chmod -R 777 /tmp
上面的命令为我解决了问题。