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

Hive内部表与外部表的区别具体说明

目录

1.在/opt/atguigu/目录下,新建两个txt文件

2.在hadoop的web端递归创建一个目录,存储这两个文件

3.查看web端的文件

一、内部表:

1.创建一个内部表,并指定内部表的存储位置

2.查看内部表,内部表中没有数据

3.加载本地数据到内部表

4.再次查询,此时内部表中有数据

5.清空内部表,上传hdfs上的数据到内部表,内部表有数据

6.但是/file/txt目录下上传到内部表的文件数据被剪切

7.删除内部表,hdfs上传到内部表的数据也被删除

二、外部表

1.创建一个外部表,指定外部表的路径在公共文件目录下

2.直接查询外部表,公共文件中的数据直接上传到外部表

3.删除外部表,公共文件的数据不会被删除

三、总结


1.在/opt/atguigu/目录下,新建两个txt文件

[root@lxm147 atguigu]# cat /opt/atguigu/student.txt
1001    student1
1002    student2
1003    student3
1004    student4
1005    student5
1006    student6
1007    student7
1008    student8
1009    student9
1010    student10
1011    student11
1012    student12
1013    student13
1014    student14
1015    student15
1016    student16[root@lxm147 atguigu]# cat /opt/atguigu/student2.txt 
1001	student1
1002	student2
1003	student3
1004	student4
1005	student5
1006	student6
1007	student7
1008	student8
1009	student9
1010	student10

2.在hadoop的web端递归创建一个目录,存储这两个文件

dfs -mkdir -p /file/txt;dfs -put /opt/atguigu/student.txt /file/txt;
dfs -put /opt/atguigu/student2.txt /file/txt;

3.查看web端的文件

dfs -ls /file/txt;

一、内部表:

1.创建一个内部表,并指定内部表的存储位置

create table if not exists student
(id   int,name string
)row format delimited fields terminated by '\t'location '/tables'; 

2.查看内部表,内部表中没有数据

select * from student;

3.加载本地数据到内部表

load data local inpath '/opt/atguigu/student.txt' into table student;

4.再次查询,此时内部表中有数据

5.清空内部表,上传hdfs上的数据到内部表,内部表有数据

truncate table student;load data inpath '/file/txt/student2.txt' into table student;select * from student;

6.但是/file/txt目录下上传到内部表的文件数据被剪切

7.删除内部表,hdfs上传到内部表的数据也被删除

drop table student;

二、外部表

1.创建一个外部表,指定外部表的路径在公共文件目录下

create external table if not exists student_wb
(id   int,name string
)row format delimited fields terminated by '\t'location '/file/txt';

2.直接查询外部表,公共文件中的数据直接上传到外部表

select * from student_wb;

3.删除外部表,公共文件的数据不会被删除

drop table student_wb;dfs -ls /file/txt;

三、总结

将hdfs上的数据上传到内部表中,数据是被剪切到内部表中,内部表删除,hdfs上的数据也被删除;

将hdfs上的数据上传到外部表中,数据是被拷贝到外部表中,外部表删除,hdfs上的数据不会被删除。

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

相关文章:

  • Java流程控制
  • I.MX6ULL_Linux_系统篇(17) uboot分析-启动linux
  • C/C++每日一练(20230221)
  • 用Python采集热门城市景点数据并简单制作数据可视化图
  • 论文阅读:pixelNeRF: Neural Radiance Fields from One or Few Images
  • C++项目——高并发内存池(1)--介绍及定长内存池
  • 网络有线无线配置
  • 阅读笔记——Feature-Point Matching for Aerial and Ground Images方法
  • 前端工程师面试题10条必会笔试题
  • 【技术分享】Web自动化之Selenium安装
  • 【Linux】进程状态的理解
  • 打游戏哪种蓝牙耳机比较好?适合玩游戏的无线蓝牙耳机
  • Fortinet推出新一代自研安全芯片,跨所有网络边缘加速网络与安全融合
  • ChatGPT爆火背后的真相:学编程已经成为必选项
  • Unity UI框架
  • vue2提取vue-router的title单独存放,使用i18n实现
  • 【Linux操作系统】【综合实验三 用户帐号、文件系统与系统安全管理】
  • sqlite3数据库-sqlite语句1(五)
  • 【图像分类】卷积神经网络之LeNet5网络模型实现MNIST手写数字识别
  • 前端开发环境搭建
  • 学习Flask之四、网页表单
  • CenterMask paper笔记
  • 06- OpenCV查找图像轮廓 (OpenCV基础) (机器视觉)
  • OpenGL学习日记之模型绘制
  • Springboot接口多个DTO入参的Postman上传方式
  • 软考各科目考核内容详细介绍,看这里
  • 连续时间信号与离散时间信号
  • TPM密钥管理、使用
  • return和finally执行顺序、运行时异常与一般异常异同、error和exception区别、Java异常处理机制原理与应用
  • 我为什么放弃WinUI3