带有分区的外部配置单元表 - 当我添加具有读取访问权限的数据的分区时出现权限错误

Posted

技术标签:

【中文标题】带有分区的外部配置单元表 - 当我添加具有读取访问权限的数据的分区时出现权限错误【英文标题】:External hive table with partition - permission error when i add partition with the data having read access 【发布时间】:2016-09-01 22:21:49 【问题描述】:

我收到以下错误: 失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。 MetaException(message:Got exception: org.apache.hadoop.security.AccessControlException Permission denied:

当我尝试使用 hdfs 中的数据从外部创建配置单元表时。

我只有读权限,没有写权限,有问题吗?

【问题讨论】:

是的,您需要对该目录的写入权限,因为 hive 期望您在 DDL 操作之后将数据加载到其中 【参考方案1】:

是的,您需要写入权限才能在 hive 中创建外部表。那么如果您使用的是动态分区,那么您必须无法实现动态分区。用于下面的代码。

set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.dynamic.partition=true;

【讨论】:

以上是关于带有分区的外部配置单元表 - 当我添加具有读取访问权限的数据的分区时出现权限错误的主要内容,如果未能解决你的问题,请参考以下文章

在 spark 中创建带有模式的配置单元外部表

如何插入配置单元表,按从临时表读取的日期进行分区? [复制]

将外部分区表(带分区)与另一个没有分区的外部表在配置单元中连接

将分区添加到没有数据的配置单元表

无论如何要更改外部配置单元表的非分区列的数据类型?

从具有多个分区列的配置单元表中获取最新数据