Hive内部表和外部表(一)

Hive内部表和外部表(一),第1张

Hive内部表和外部表(一)

文章目录
  • Hive内部表和外部表
    • 1. 内部表
      • 加载数据
      • 删除表测试
      • web界面查看,源数据已经被删除
    • 2. 外部表
      • 加载数据
      • 删除表测试
      • web查看,源数据仍然存在

Hive内部表和外部表

删除内部表的时候,表中的数据(HDFS上的文件)会被同表的元数据一起删除

删除外部表的时候,只会删除表的元数据,不会删除表中的数据(HDFS上的文件)

一般在公司中,使用外部表多一点,因为数据可以需要被多个程序使用,避免误删,通常外部表会结合location一起使用

外部表还可以将其他数据源中的数据 映射到 hive中,比如说:hbase,ElasticSearch…

设计外部表的初衷就是 让 表的元数据 与 数据 解耦

1. 内部表
// 内部表
create table students_internal
(
    id bigint,
    name string,
    age int,
    gender string,
    clazz string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/input3';
#/input3路径不存在自动创建

加载数据
hive> dfs -put /usr/local/soft/data/students.txt /input3/;

web界面查看

删除表测试
hive> drop table students_internal;
Moved: 'hdfs://master:9000/input3' to trash at: hdfs://master:9000/user/root/.Trash/Current
OK
Time taken: 0.223 seconds
hive> 

web界面查看,源数据已经被删除

2. 外部表
// 外部表
create external table students_external
(
    id bigint,
    name string,
    age int,
    gender string,
    clazz string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/input3';
加载数据
hive> dfs -put /usr/local/soft/data/students.txt /input3/;

删除表测试
hive> drop table students_external;
OK
Time taken: 0.012 seconds
hive> 

web查看,源数据仍然存在

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5618514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存