Hive内部表与外部表的区别

内部表和外部表就一个区别:

删除内部表时,会删除内部表的元数据信息和数据
删除外部表时,仅仅删除外部表的元数据信息

几个误区

hive.metastore.warehouse.dir【默认:/user/hive/warehouse】定义的目录只是 default 库映射的路径
若在default库中创建表,而且没有指定location,那么该表的映射路径为:/user/hive/warehouse/表名
创建数据库
create database 库名 【location ‘hdfs_path’】

  • 若不指定location,那么数据库的映射路径为:/user/hive/warehouse/库名.db
  • 若指定location,那么数据库的映射路径为:hdfs_path

创建表

  • 不指定location

    • 不管是外部表还是内部表,你在哪个库下创建表,那么表名目录就会创建在该库映射的路径下,即表的映射路径默认为:库映射路径/表名
  • 指定location

    • 不管是外部表还是内部表,表的映射路径为:location 指定的路径
  • 不管内部表还是外部表,加载数据时,均会从数据文件所在目录,把数据文件剪切到表的映射路径

  • 记住一点:无论内部表还是外部表,数据表的数据文件一定放在数据表的映射路径下

内部表与外部表的应用场景

  • 公共的表,使用外部表
  • 个人使用的表,使用内部表
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值