hive - sparkpy 坚持 HDFS 上的 root scratch dir: /tmp/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。我在 hive-site.xml 注册了此更改
我重新启动了 hiveserver2,Beeline 确认更改已注册。
+------------------------------------+
| set |
+------------------------------------+
| hive.exec.scratchdir=/tmp/sparkpy |
+------------------------------------+
1 row selected (0.028 seconds)
但是,pyspark 仍然停留在 /tmp/hive 并坚持认为它不可写。
解决方案
我也面临同样的问题。最后,我得到了答案 /tmp/hive location is present in your local system。
sudo chmod -R 777 /tmp
以上命令为我解决了问题。
推荐阅读
- json - 使用 JQ 进行 JSON 转换
- entity-framework - EF Core - 多对一映射
- wpf - AvalonDock:如何自动调整控件大小?
- javascript - 2019 年 javascript 的不变性状态如何?
- google-sheets - 基于相邻单元格的 COUNTIF - Google 表格
- javascript - 有没有办法使用 AWS-SDK 表示 EC2 和 RDS 实例之间的清晰连接?
- reactjs - React Helmet 可用于开发,但不能用于生产
- excel - 编写一个程序来查找一个单元格,复制其上方的行,将其粘贴到当前行,替换
- c - 当前台子进程停止 SIGTSTP 时,waitpid() 挂起
- c# - 具有 ms 访问权限的 log4net 记录器配置