上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

Hive内部表(管理表)和外部表的区别【重点】

guduadmin11天前

一、内部表和外部表的区别:

内部表和外部表的区别可以从三方面讨论,创建表时、删除表时、选择表时:

1.创建表:

建表时,未被external修饰的是内部表,被external修饰的是外部表。

内部表数据由hive自身管理,外部表数据由HDFS管理。

内部表数据存储的位置默认是“user/hive/warehouse”,外部表数据存储的位置由自己制定。(如果没有location,hive将在HDFS上的“user/hive/warehouse”文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这里)

2.删除表:

删除内部表会直接删除元数据以及数据,所以管理表不适合和其他工具共享数据

删除外部表仅仅会删除元数据,HDFS上的文件不会被删除,所以外部表相对更加安全,方便共享元数据。

3.选择表:

内部表适合数据临时处理、转换等操作,及对数据进行清洗、统计分析、计算等需求;  外部表适用于数据的长期存储、备份和共享等需求。

内部表和外部表没有太大区别,如果所有数据都由hive处理则创建内部表;如果数据的处理由hive和其他工具一起处理,则创建外部表;

二、 他们各自的应用场景,你们公司建表是内部还是外部:

内部表适合数据临时处理、转换等操作,及对数据进行清洗、统计分析、计算等需求;  外部表适用于数据的长期存储、备份和共享等需求。

对于建表,不同公司有不同的实践。

一般来说,在数据分析和处理的场景下,内部表应用更加广泛,因为它可以提供更好的数据管理和查询性能。

而外部表更多用于数据仓库和数据湖等需要长期存储和备份的场景。

网友评论

搜索
最新文章
热门文章
热门标签