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

news2025/2/28 19:59:11

目录

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.coloradmin.cn/o/361171.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

技术学习-消息队列

什么是消息队列 可以简单理解为存放消息的队列,数据结构模型和队列一样,都是先进先出。主要用不同线程(Thread)/进程(Process) 为什么需要消息队列 (1)不同进程之间传递消息是,因为进程的耦合度高,改动一个进程,引发…

基于SVPWM改进的永磁同步电机直接转矩控制二更

导读:本期对基于SVPWM的永磁同步电机直接转矩控制进行全面的分析和仿真搭建。之后与传统的DTC进行比较,凸显基于SVPWM改进的DTC方法的有效性。如果需要文中的仿真模型,关注微信公众号:浅谈电机控制,留言获取。一、 传统…

Long型数据后端查询结果为null,返回前端显示-1,使用@JsonSerialize注解

使用场景 在开发中,我们将对象序列化为JSON传输给前端,有时候我们的某个或者某些字段需要特殊处理,比如我们有一个日期字段,我们希望当日期为NULL时给前端不返回NULL而返回为未完成等信息,或者我们有一些状态字段&…

达梦数据库(DM8)集成使用 Geoserver(2.22.2) 以及其他对应版本详解

达梦数据库(DM8)集成使用 Geoserver(2.22.2) 以及其他对应版本详解系统环境版本Geoserver 驱动对应版本达梦 8 集成 Geoserver 过程试错过程问题总结项目需要国产化,选择使用达梦数据库,在技术测试阶段&…

K-近邻算法(KNN)

K-近邻算法(KNN) K nearest neighbour 0、导引 如何进行电影分类 众所周知,电影可以按照题材分类,然而题材本身是如何定义的?由谁来判定某部电影属于哪 个题材?也就是说同一题材的电影具有哪些公共特征?这些都是在进行电影…

美创科技荣获“PostgreSQL中国最佳运维服务商”

近日,由中国开源软件推进联盟PostgreSQL分会&中科院软件所&CSDN联合举办主办的“中国PostgreSQL数据库生态大会”在北京中科院软件所隆重召开。美创科技受邀参加,三位顶级数据库技术专家亮相,分享美创科技在数据库内核技术、PostgreS…

IMX6ULL学习笔记(17)——工程管理

一、简介 之前我们把所有源码文件放在一个文件夹下。 这样做存在两个主要问题,第一,代码存放混乱不易阅读。第二,程序可移植性差。如果工程源文件达到几十、甚至数百个的时候,这样一股脑全部放到根目录下就会使工程显得混乱不堪。…

STM32开发(13)----获取唯一设备标识符UID

获取唯一设备标识符UID前言一、什么事UID二、实验过程1.CubeMx配置2.代码实现3.实验结果总结前言 这一章节介绍如何获取STM32芯片中的唯一的ID号的两种方法。 一、什么事UID 在许多项目中,识别设备是必要的。从简单的设备描述到更复杂的设备,如 USB 串…

Open3d入门

目录 点云数据 1 主成分分析 1.1 Method 1.2 Results 2 表面法线估计 2.1 Method 2.2 Results 3 体素网格下采样 3.1 Method 3.2 Results 点云数据 常用数据下载(免积分) 1 主成分分析 1.1 Method 对点云进行主成分分析(PCA&…

[5/101] 101次面试之经典面试题

目录 01、什么是黑盒测试? 02、为什么要做黑盒测试? 03、你在软件生命周期中的哪些测试阶段用到过黑盒测试? 04、什么是白盒测试? 05、白盒测试与黑盒测试有什么区别? 06、为什么要对程序进行单元测试? 07、由谁来做单元测试&#…

RK3566添加湿度传感器以及浅析hal层

RK3566添加一款温湿度传感器gxht3x.挂在i2c总线下。驱动部分就不多做解析。大致流程硬件接好i2c线以及vcc gnd。后看数据手册。初始化寄存器,然后要读数据的话读那个寄存器,读出来的数据要做一个转化,然后实现open read write ioctl函数就行了。本文主要…

【LeetCode】剑指 Offer 10- Ⅲ. 矩形覆盖 p79 -- Java Version

题目链接:无 1. 题目介绍(10- Ⅲ. 矩形覆盖 ) 我们可以用2x1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2x1的小矩形无重叠地覆盖一个2xn的大矩形,总共有多少种方法? 【测试用例】: 示例 1&#xff…

[学习笔记]Rocket.Chat业务数据备份

Rocket.Chat 的业务数据主要存储于mongodb数据库的rocketchat库中,聊天中通过发送文件功能产生的文件储存于/app/uploads中(文件方式设置为"FileSystem"),因此在对Rocket.Chat做数据移动或备份主要分为两步,…

JavaScript高级程序设计读书分享之4章——4.2执行上下文与作用域

JavaScript高级程序设计(第4版)读书分享笔记记录 适用于刚入门前端的同志 执行上下文 变量或函数的上下文决定 了它们可以访问哪些数据,以及它们的行为。在浏览器中,全局上下文就是我们常说的 window 对象(第 12 章会详细介绍)&am…

【技术分享】Web自动化之Selenium安装

Web 应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作。但是手工执行的任务容易出现人为的错误,也比较费时间。因此,将这些任务自动化,就可以消除人为因素。Selenium 可以…

Js中blob、file、FormData、DataView、TypedArray

引言 最开始我们看网页时,对网页的需求不高,显示点文字,显示点图片就很满足了,所以对于浏览器而言其操作的数据其实并不多(比如读取本地图片显示出来,或上传图片到服务器),那么浏览器…

网络安全之认识挖矿木马

一、什么是挖矿木马? 比特币是以区块链技术为基础的虚拟加密货币,比特币具有匿名性和难以追踪的特点,经过十余年的发展,已成为网络黑产最爱使用的交易媒介。大多数勒索病毒在加密受害者数据后,会勒索代价高昂的比特币…

GEE学习笔记 六十三:新的地图图层ui.Map.CloudStorageLayer

在GEE中导出数据有一种方式是直接导出地图到Google Cloud Storage中,也就是Export.map.toCloudStorage(xxx),这种方式是将我们计算生成影像导出成为静态瓦片的格式存放在Google Cloud Storage中。我们可以在其他的前端程序比如OpenLayer、Mapbox GL JS等…

Python开发-学生管理系统

文章目录1、需求分析2、系统设计3、系统开发必备4、主函数设计5、 学生信息维护模块设计6、 查询/统计模块设计7、排序模块设计8、 项目打包1、需求分析 学生管理系统应具备的功能: ●添加学生及成绩信息 ●将学生信息保存到文件中 ●修改和删除学生信息 ●查询学生…

Docker之路(1.Docker概述、组成以及特点)

1.docker为什么会出现? 一款产品或者项目来说,一般有三个环境,日常/测试环境、预发环境、正式/线上环境 这么多环境,对其环境的配置是十分麻烦的,每一个机器都要部署环境,有的会有集群Redis、Hadoop等&…