~一步一个脚印,一天一道面试题~
hive内部表和外部表的区别
空白 | 内部表 | 外部表 |
---|---|---|
定义 | 表结构和数据有Hive管理 | 表结构由Hive管理,数据可由其他导入 |
删除表时 | 表结构被删除,数据也被清除 | 表结构被删除,但数据不变 |
导入数据 | 使用Hive SQL 导入 | 将新增的数据文件放到正确的位置即可 |
生产环境中为什么建议使用外部表?
1.安全性:避免误操作导致数据丢失
2.共享性:多个不同表可以共用同一份数据源进行不同的ETL逻辑处理
3.灵活性:当对表结构进行调整时,无需额外备份数据