当前位置:   article > 正文

hive的location和External_内部表可以用location吗

内部表可以用location吗

之前在学习hive中,建表时使用location和external搭配,我就会认为是外部表,并给了存放位置。但是当我工作我发下location是单独进行出现,我就十分疑惑,下面是我找到的一个较好的回答。

我们可以建立外部表,不使用LOCATION;也可以建立内部表,使用LOCATION。

建外部表使用LOCATION,读取到数据,同时插入数据,会在LOCATION位置新生成文件000000_0,删除外部表,数据文件还在,证明外部表功能还在。
建内部表使用LOCATION,读取到数据,同时插入数据也会生成新文件,但删除内部表,数据文件都会消失,整个目录都会删除掉,也正好符合内部表的功能。
建立外部表,不使用LOCATION,会在默认在/hive/warehouse/数据库名称/表名,建立目录。然后插入数据,会生成新文件,删除表。目录和文件都还在。符合外部表功能。
建立内部表,不使用LOCATION。在相应位置创建新目录,插入数据,一样生成新文件。但是如果删除内部表,目录和数据文件都会删除掉。
结论
所以我们是否会在HDFS上看到生成新的目录,取决于是否使用LOCATION,而不是外部表、内部表的关系。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/692436
推荐阅读
相关标签
  

闽ICP备14008679号