为什么用户需要对外部配置单元表的位置具有写权限?

9cbw7uwe  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(292)

在hive中,可以创建两种表:托管表和外部表
对于托管表,您拥有数据,因此当您删除表时,数据将被删除。
对于外部表,您没有数据的所有权,因此当您删除这样的表时,基础数据不会被删除。只删除元数据。
现在,最近我注意到您不能在hdfs中没有写(修改)权限的位置上创建外部表。我完全不明白这一点。
用例:很常见的情况是,您正在处理的数据非常大并且是只读的。所以,要通过hive搅动这些数据,您是否必须将这些巨大的数据复制到您有写权限的位置?
请帮忙。

egdjgwm8

egdjgwm81#

虽然删除外部数据不会导致删除数据,但这并不意味着外部表是只读的。例如,你应该能够 INSERT OVERWRITE 在外桌上。
也就是说,当您只有读访问权限时,肯定可以使用(内部)表,所以我怀疑外部表也是如此。尝试使用具有写入权限的帐户创建表,然后将其与常规帐户一起使用。

相关问题