Hive内部表、外部表

Hive内部表、外部表

1. 内部表(Managed Table)

  • 内部表是由Hive完全管理的表,包括数据和元数据。
  • 当你删除内部表时,Hive会同时删除表的数据和元数据。
  • 内部表的数据存储在Hive指定的默认位置(通常是HDFS上的/user/hive/warehouse目录),不需要用户自己指定数据存储位置。
  • 创建内部表时,可以直接使用CREATE TABLE语句,并且不需要指定EXTERNAL关键字

2. 外部表(External Table)

  • 外部表也是由Hive管理的表,但是数据由用户自己管理。
  • 删除外部表时,只会删除表的元数据,不会删除数据本身。
  • 外部表的数据存储在用户指定的位置,可以是HDFS上的任何位置,也可以是本地文件系统或其他存储系统。
  • 创建外部表时,需要使用CREATE EXTERNAL TABLE语句,并且在表定义中使用LOCATION关键字来指定数据存储位置。

3.如何选择?

  • 当需要通过Hive完全管理控制表的整个生命周期时,请使用内部表

  • 当数据来之不易,防止误删,请使用外部表,因为即使删除表,文件也会被保留

  • 内部表适合管理Hive自己生成的数据,而外部表适合管理外部数据源,如已存在的数据文件或其他数据库中的数据。

相关推荐
我要用代码向我喜欢的女孩表白1 天前
hedfs和hive数据迁移后校验脚本
数据仓库·hive·hadoop
Denodo1 天前
如何用数据编织、数据虚拟化与SQL-on-Hadoop打造实时、可扩展兼容的数据仓库?
大数据·数据仓库·hadoop·分布式·数据挖掘·数据分析·spark
码界筑梦坊1 天前
基于Flask框架和Hive数仓的农业数据分析系统
hive·python·flask·毕业设计
sin22011 天前
Hive数据仓库中的数据导出到MySQL的数据表不成功
数据仓库·hive·mysql
怎么才能努力学习啊1 天前
Hive之加载csv格式数据到hive
数据仓库·hive·hadoop
黑客老李2 天前
区块链 智能合约安全 | 回滚攻击
服务器·数据仓库·hive·hadoop·区块链·php·智能合约
qzWsong2 天前
hive 自动检测、自动重启、记录检测日志、自动清理日志
数据仓库·hive·hadoop
milk_yan2 天前
MinIO的安装与使用
linux·数据仓库·spring boot
Ray.19982 天前
Flink 的核心特点和概念
大数据·数据仓库·数据分析·flink