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

Hive 将数据从外部表复制到数据库,hive,external-tables,Hive,External Tables,我有一个外部表中的数据。现在,我正在将数据从外部表复制到数据库中新创建的表中。数据库中的表是什么类型的表?它是托管表还是外部表?我需要你的帮助来理解这个问题背后的概念 谢谢, Madan Mohan S配置单元表在创建时获取其类型“托管”或“外部”,而不是在插入数据时 所以表employees是外部的(因为它是使用DDL中的“create external”创建的,并且提供了数据文件的位置。 emp是管理表,因为DDL中未使用“外部”,也不需要数据的位置 现在的区别是,如果表雇员删除了在“位置”

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

谢谢,
Madan Mohan S

配置单元表在创建时获取其类型“托管”或“外部”,而不是在插入数据时

所以表employees是外部的(因为它是使用DDL中的“create external”创建的,并且提供了数据文件的位置。
emp是管理表,因为DDL中未使用“外部”,也不需要数据的位置

现在的区别是,如果表雇员删除了在“位置”中提供的它正在读取的数据,则不会删除。因此,当数据被多个工具(如pig)读取时,外部表非常有用。如果pig脚本正在读取相同的位置,则即使删除了雇员表,它仍将起作用


但是emp是由配置单元管理的(换句话说,元数据和数据都是由配置单元管理的),因此当删除emp时,数据也会被删除。因此,在删除数据后,如果您检查配置单元仓库目录,您将找不到“emp”hdfs目录了。

不清楚您问了什么。我在配置单元中有一个名为“db1”的数据库,它由一个名为emp3的表组成,我们有一个名为employees的外部表。如果我将数据从employees复制到emp3(两者都有相同的架构),我的emp3将是配置单元中的托管表还是外部表?