hive的内部表和外部表区别

hive中的表分为内部表和外部表。内部表的数据由hive自身管理,而外部表由HDFS管理。关于内部表和外部表的区别,具体如下: 存储位置内部表数据的存储位置是hive.metastore.warehouse.dir外部表...

hive中的表分为内部表和外部表。内部表的数据由hive自身管理,而外部表由HDFS管理。关于内部表和外部表的区别,具体如下:

区别
内部表
外部表
存储位置
内部表数据的存储位置是hive.metastore.warehouse.dir
外部表数据的存储位置由自己决定
修改
对内部表的修改将直接同步给元数据
对外部表的表结构和分区进行修改,则需要修复
删除
删除内部表会直接删除元数据(metadata)及存储数据
删除外部表仅仅会删除元数据,HDFS上的文件并不会删除
适用场景
内部表适用于Hive中间表、结果表,一般不需要从外部(如本地文件、HDFS上load数据)
外部表适用于源表,需要定期将外部数据映射到表中

一般来说,hive内部表和外部表的分工是这样的:

1、我们每天将收集到的网站日志定期流入HDFS文本文件,一天一个目录;
2、在Hive中建立外部表作为源表,通过添加分区的方式,将每天HDFS上的原始日志映射到外部表的天分区中;
3、在外部表(原始日志表)的基础上做大量的统计分析,用到的中间表、结果表使用内部表存储,数据通过SELECT+INSERT进入内部表。


相关内容推荐:

关于hive的介绍和使用

  • 发表于 2020-07-31 16:30
  • 阅读 ( 15 )

0 条评论

请先 登录 后评论
月木易
月木易

436 篇文章

作家榜 »

  1. 月木易 436 文章
  2. 58沈剑 300 文章
  3. 奈学教育 85 文章
  4. 江帅帅 | 奈学教育 20 文章
  5. 李希沅 | 奈学教育 9 文章
  6. 林淮川 | 奈学教育 7 文章
  7. nxadmin 2 文章
  8. 科技热点 1 文章