将数据从外部表复制到数据库

zaq34kh6  于 2021-06-28  发布在  Hive
关注(0)|答案(1)|浏览(334)

我在一个外部表中有一个数据。现在我将数据从外部表复制到数据库中新创建的表中。数据库中的表将是什么类型的表?它是托管表还是外部表?我需要你的帮助来理解这个问题背后的概念
谢谢,madan mohan s

um6iljoc

um6iljoc1#

配置单元表在创建时获取其类型“managed”或“external”,而不是在插入数据时。
所以表employees是外部的(因为它是使用ddl中的“createexternal”创建的,并且提供了数据文件的位置。
emp是托管表,因为ddl中没有使用“external”,也不需要数据的位置。
现在的区别是,如果表雇员删除了在“location”中提供的它正在读取的数据,则不会删除。因此,当数据被多个工具(如pig)读取时,外部表非常有用。若pig脚本正在读取相同的位置,则即使删除employees表,它仍能正常工作。
但是emp是被管理的(换句话说,元数据和数据都由hive管理),所以当emp被丢弃时,数据也被删除。因此,在删除它之后,如果您检查hive仓库目录,您将再也找不到“emp”hdfs目录。

相关问题