栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive内部表和外部表(一)

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查看,源数据仍然存在

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/612394.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号