当前位置: 首页 > news >正文

Hive-内部表和外部表

         区别

内部表实例

准备数据

查看数据

删除数据

外部表实例

准备数据

查看数据

删除数据 


区别

内部表:管理元数据记录数据的文件和目录的信息)和数据。当删除内部表时,会删除数据和表的元数据,所以当多个表关联同一个文件时,其中一个表删除了,其他表也将会没有数据。

外部表:只管理元数据。删除表并不会影响其他表数据。【推荐】

内部表实例

准备数据

1,张三,工程部,75000
2,李四,市场部,80000
3,王五,财务部,85000
4,赵六,工程部,95000
5,孙七,人事部,60000

 

建库

-- 创建库
drop database if exists db_2 cascade;
create database db_2;
use db_2;

建表:分别创建3个内部表  依赖同一个文件

-- 1.1 创建内部表  依赖 文件1
CREATE TABLE IF NOT EXISTS db_2.employee (id INT,name STRING,department STRING,salary FLOAT
)
row format delimited fields terminated by ','
location '/test/external/employee_data'
;select * from db_2.employee;-- 1.2 创建内部表2 依赖 文件1
CREATE TABLE IF NOT EXISTS db_2.employee_2 (id INT,name STRING,department STRING,salary FLOAT
)
row format delimited fields terminated by ','
location '/test/external/employee_data'
;select * from db_2.employee_2;-- 1.3 创建内部表3 依赖 文件1
CREATE TABLE IF NOT EXISTS db_2.employee_3 (id INT,name STRING,department STRING,salary FLOAT
)
row format delimited fields terminated by ','
location '/test/external/employee_data'
;select * from db_2.employee_3;

 

查看数据

-- 验证数据加载
SELECT * FROM tb_archer;

删除数据

-- 删除内部表1
drop table db_2.employee;

删除内部表后,数据也被删除了 

 删除内部表1,内部表2和内部表3没有数据

外部表实例

准备数据

-- 2.1 创建外部表  依赖 文件1
CREATE external TABLE IF NOT EXISTS db_2.tb_employee_external (id INT,name STRING,department STRING,salary FLOAT
)
row format delimited fields terminated by ','
location '/test/external/employee_data'
;-- 1.2 创建外部表2 依赖 文件1
CREATE external TABLE IF NOT EXISTS db_2.tb_employee_external_2 (id INT,name STRING,department STRING,salary FLOAT
)
row format delimited fields terminated by ','
location '/test/external/employee_data'
;-- 1.3 创建外部表3 依赖 文件1
CREATE external TABLE IF NOT EXISTS db_2.tb_employee_external_3 (id INT,name STRING,department STRING,salary FLOAT
)
row format delimited fields terminated by ','
location '/test/external/employee_data'
;

 

 查看数据

select * from db_2.tb_employee_external;

删除数据 

drop table db_2.tb_employee_external;

删除外部表,仍然还有数据,只是把元数据删除了 

 删除外部表后,其他关联数据的表仍有数据

http://www.lryc.cn/news/410240.html

相关文章:

  • Java并发编程(三)
  • Flink Doirs Connector 常见问题:Doris目前不支持流读
  • 期末复习资料——计算机系统基础
  • 一天搞定Recat(5)——ReactRouter(上)【已完结】
  • TCP/IP 网络模型详解(二)之输入网址到网页显示的过程
  • 【k8s故障处理篇】calico-kube-controllers状态为“ImagePullBackOff”解决办法
  • SAP PP学习笔记31 - 计划运行的步骤2 - Scheduling(日程计算),BOM Explosion(BOM展开)
  • [vue3]配置@指向src
  • 【多模态大模型】 BLIP in ICML 2022
  • Flutter开发Dart 中的 mixin、extends 和 implements
  • SAPUI5基础知识20 - 对话框和碎片(Dialogs and Fragments)
  • express连接mysql
  • 24暑假算法刷题 | Day24 | LeetCode 93. 复原 IP 地址,78. 子集,90. 子集 II
  • Postman本地化测试全攻略:打造多语言API的秘诀
  • 摆弄it:越走越深
  • 网页上空格
  • Linux服务管理(四)Apache服务
  • Qt基础 | TCP通信 | TCP服务端与客户端程序设计 | QTcpServer | QTcpSocket
  • 设计模式实战:订单处理系统的设计与实现
  • [论文笔记]思维链提示的升级版——回退提示
  • 【Redis进阶】主从复制
  • 编程类精品GPTs
  • ubuntu在命令行输出里查找内容,dmesg
  • 图片url处理(带http和不带http)方法
  • Git(分布式版本控制系统)、Gitlab、分支、分支冲突
  • dockerfile部署镜像 ->push仓库 ->虚拟机安装建木 ->自动部署化 (详细步骤)
  • Android串口开发及读取完整数据的解决方法
  • java之对象向下转型
  • ElasticSearch核心之DSL查询语句实战
  • Axure中继器:数据动态展示的强大工具