hive的内部表(MANAGED_TABLE)和外部表(EXTERNAL_TABLE)的区别

1.hive的表类型分为外部表和内部表

内部表和外部表的主要区别在于数据的存储方式。

外部表:外部表的存储在hdfs中,是我们指定的文件目录,当我们删除数据或者删除分区的时候不会将元数据删除,数据还会在hdfs目录中,我们还可以进行数据挂载。

内部表:内部表的存储是在hdfs的默认目录下,当我们删除数据或者删除分区的时候会将元数据删除,数据文件也会被删除。

2.查看一个表是内部表还是外部表

复制代码
DESCRIBE FORMATTED table_name

运行指令找到table_type 如果为MANAGED_TABLE,那就是内部表,

如果是EXTERNAL_TABLE,那就是外部表

3.创建内部表和外部表,外部表需要指定LOCATION

sql 复制代码
CREATE EXTERNAL TABLE external_table_name (
  column1 data_type,
  column2 data_type,
  ...
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LOCATION '/path/to/table';


CREATE TABLE internal_table_name (
  column1 data_type,
  column2 data_type,
  ...
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
相关推荐
2501_933329552 小时前
技术深度剖析:Infoseek 字节探索舆情处置系统的全链路架构与核心实现
大数据·数据仓库·人工智能·自然语言处理·架构
xiaoyaohou114 小时前
024、大数据技术栈概览:Hadoop、Spark与Flink
大数据·hadoop·spark
虚幻如影5 小时前
Hive 中“STRING类型无需显式指定长度
数据仓库·hive·hadoop
荒川之神15 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
RestCloud17 小时前
2026年企业级ETL工具选型指南:从开源DataX到商业化ETLCloud的演进
数据仓库·开源·etl·datax·数据处理·数据集成·数据传输
荒川之神17 小时前
Oracle 数据仓库星座模型(Galaxy Model)设计原则
数据库·数据仓库·oracle
瀚高PG实验室19 小时前
ETL中,分区表子表未及时收集统计信息,导致sql执行耗时很长
数据库·数据仓库·sql·etl·瀚高数据库
仗剑_走天涯19 小时前
hadoop reduce阶段 对象重用问题
大数据·hadoop·分布式
荒川之神20 小时前
Oracle 数据仓库雪花模型设计原则(核心 + 落地 + Oracle 数据库适配)
数据库·数据仓库·oracle
荒川之神20 小时前
Oracle 数据仓库星型模型设计原则
数据库·数据仓库·oracle