文章摘要
本文介绍了Hive中的内部表和外部表的区别及使用场景。内部表由Hive完全管理,删除时会删除数据及元数据,适合需要完全控制表生命周期的情况。外部表仅管理元数据,删除只清除元数据,数据保留在HDFS,适合文件已存在或位于远程位置的情况。选择使用哪种表取决于具体需求,内部表适用于需要全面管理表的用户,而外部表适用于数据保留需求较高的场景。
Hive内部表:默认创建的表是内部表。hive完全管理表(元数据和数据)的声明周期,类似于RDBMS的表。当删除表时,他会删除源数据以及表的元数据。
Hive外部表:外部表的数据不是Hive拥有或者管理的,只管理元数据的声明周期。要创建一个外部表,需要使用external关键字。删除外部表是只会删除元数据,而不会删除实际数据(源数据)。在hive外部依然可以访问实际数据(HDFS)。
外部表:

内部表:

内部表删除会删除HDFS存储的源数据以及元数据也被删除。
所以我们在选择建表时,当需要通过hive完全管理控制表的整个生命周期时,请使用内部表。
当文件已经存在或者位于远程位置的时候,请使用外部表,因为即使删除表,文件也会被保留。
表区内部表和外表的区别

到此这篇关于hive内部表和外部表的区别详解的文章就介绍到这了,更多相关hive内部表和外部表区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:Hive数据导出详解数据库之Hive概论和架构和基本操作Hive数据去重的两种方式?(distinct和group?by)详解hive常见表结构Hive中常用正则表达式的运用小结Mysql元数据如何生成Hive建表语句注释脚本详解
© 版权声明
文章版权归作者所有,未经允许请勿转载。