【问题标题】:How to fix" Permission denied when creating a hive orc table using spark "?如何修复“使用 spark 创建 hive orc 表时权限被拒绝”?
【发布时间】:2019-03-27 22:51:36
【问题描述】:

首先,我创建了一个名为“ProDF”的数据框。 然后我需要将 proDf 保存为 'orc' 格式表。我使用了以下代码:

import org.apache.spark.sql.SaveMode
proDF.write.mode(SaveMode.Overwrite).format("orc").saveAsTable("product_orc_table")

但是,Spark shell 返回失败:

消息:java.security.AccessControlException:权限被拒绝: user=junyanxu,access=WRITE,inode="/apps/hive/warehouse/product_orc_table":uma_kanagarajan:hdfs:drwxr-xr-x

我尝试用代码更改/apps/hive/warehouse/product_orc_table的权限:

hadoop fs -chmod 777 /apps/hive/warehouse/product_orc_table

但是这段代码被拒绝并说:

user=junyanxu 不是 inode=product_orc_table 的所有者。

我希望我可以成功创建 orc 表。

【问题讨论】:

    标签: apache-spark hadoop hive


    【解决方案1】:

    提到了 /apps/hive 的用户和组所有权here

    开始执行您的命令,请执行hadoop fs -chmod 777 /apps/hive/warehouse/product_orc_table

    您需要先成为 hdfs 用户才能执行以下命令

    sudo su
    su hdfs
    

    请注意,这不是一个更好的做法,请遵循上述链接中所需的配置单元许可。

    【讨论】:

    • 谢谢! rbyndoor,问题已解决。
    • 这是如何在 python 脚本中解决的?应该sudo su。 su hdfs 可以在终端中运行吗?如果我只能在脚本中执行此操作怎么办?
    猜你喜欢
    • 2019-03-15
    • 2019-09-18
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2022-06-24
    • 2015-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多