Hive中的DML操作

news/2024/11/30 7:14:59/

文章目录

  • Hive中的DML操作
    • 一、Load
      • 1)语法
      • 2)实操案例
        • (0)创建一张表
        • (1)加载本地文件到hive
        • (2)加载HDFS文件到hive中
    • 二、Insert
      • 1. 将查询结果插入表中
        • 1)语法
        • 2)案例
      • 2. 将给定Values插入表中
      • 3. 将查询结果写入目标路径
        • 1)语法
        • 2)案例
    • 三、Export&Import

Hive中的DML操作

DML是Data Manipulation Language的缩写,意思是数据操纵语言,是指在SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是开发以数据为中心的应用程序必定会使用到的指令。

由于hive它主要用来进行海量数据的提取、转化、加载,,所以在Hive中的UPDATE、DELETE相关操作使用的场景比较少。

一、Load

Load语句可将文件导入到Hive表中。

1)语法

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)];

关键字说明:

(1)local:表示从本地加载数据到Hive表;否则从HDFS加载数据到Hive表。

(2)overwrite:表示覆盖表中已有数据,否则表示追加。

(3)partition:表示上传到指定分区,若目标是分区表,需指定分区。

2)实操案例

(0)创建一张表

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

image-20230608114014691

(1)加载本地文件到hive

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

查看数据:

image-20230608114405194

(2)加载HDFS文件到hive中

①上传文件到HDFS

hadoop fs -put /opt/module/datas/student.txt /user/root

②加载HDFS上数据,导入完成后去HDFS上查看文件是否还存在

load data inpath '/user/root/student.txt' into table student;

image-20230608114759458

查看数据文件/user/root/student.txt,发现文件不在了。

数据追加写入:

select * from student;

image-20230608115013155

(3)加载数据覆盖表中已有的数据

①上传文件到HDFS

hadoop fs -put /opt/module/datas/student.txt /user/root

②加载数据覆盖表中已有的数据

load data inpath '/user/root/student.txt' overwrite into table student;

image-20230608115213690

二、Insert

1. 将查询结果插入表中

1)语法

INSERT (INTO | OVERWRITE) TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement;

关键字说明:

(1)INTO:将结果追加到目标表

(2)OVERWRITE:用结果覆盖原有数据

(3)PARTITION:分区

2)案例

(1)新建一张表

create table student1(id int,name string
)
row format delimited fields terminated by '\t';

image-20230608120006781

(2)根据查询结果插入数据

insert overwrite table student1
select id,name
from student;

image-20230608141800546

查看数据:

image-20230608141844463

2. 将给定Values插入表中

1)语法

INSERT (INTO | OVERWRITE) TABLE tablename [PARTITION (partcol1[=val1], partcol2[=val2] ...)] VALUES values_row [, values_row ...]

2)案例

insert into table  student1 values(1,'wangwu'),(2,'zhaoliu');

image-20230608141914043

查看数据:

image-20230608141936100

3. 将查询结果写入目标路径

1)语法

INSERT OVERWRITE [LOCAL] DIRECTORY directory[ROW FORMAT row_format] [STORED AS file_format] select_statement;

2)案例

insert overwrite local directory '/opt/module/datas/student' ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.JsonSerDe'
select id,name from student;

image-20230608142050092

查看结果:

image-20230608142124890

三、Export&Import

Export导出语句可将表的数据和元数据信息一并导处的HDFS路径,Import可将Export导出的内容导入Hive,表的数据和元数据信息都会恢复。Export和Import可用于两个Hive实例之间的数据迁移。

1)语法

--导出
EXPORT TABLE tablename TO 'export_target_path'--导入
IMPORT [EXTERNAL] TABLE new_or_original_tablename FROM 'source_path' [LOCATION 'import_target_path']

2)案例

--导出
export table db_hive1.student to '/user/hive/warehouse/export/student';--导入
import table student2 from '/user/hive/warehouse/export/student'

数据导出:

image-20230608142310578

查看:

image-20230608142433211

数据导入:

image-20230608142509109

查看数据:

image-20230608142538562

参考文章:

1.dml是什么(dml是什么意思) https://www.chx-zs.com/baike/298315.html
2.尚硅谷大数据Hive 3.x教程全新升级版(基于hive3.1.3)p28-p30

http://www.ppmy.cn/news/278541.html

相关文章

AI 写的高考作文,你打几分?

又是一年高考时,高考真的是人生的一件大事,毕业这么多年,每次看到高考相关信息,还是会不由自主的点进来,其中语文的作文是每年大伙津津乐道的话题。 树先生今天就收到了某条小秘书的【邀请函】,邀请参与「…

爬虫代理IP池怎么来的,可能遇到哪些问题,怎么解决

目录 前言 一、代理IP对爬虫工作的重要性 二、代理IP池从哪里来 三、爬虫工作中可能会遇到哪些问题 四、怎么解决遇到的问题 总结 前言 爬虫工作离不开代理IP的支持,代理IP在爬虫工作中发挥重要的作用,但爬虫代理IP池从哪里来呢,爬虫工…

2023自动化测试选择什么工具或者框架好呢?

自动化测试的工具或者框架在市场上种类是比较繁多的。那么作为软件测试开发者应该怎么去选择呢?笔者觉得可以从测试需求、测试用例复杂度、技能水平和预算等方面去考虑。 Selenium 这是最常用的自动化测试工具之一,它可以模拟用户在不同的浏览器中进行操…

易开得净水器,从研究水源开始,让您喝到放心水

水资源一直是我们人类赖以生存的重要资源之一,人体百分之七十由水构成,时代变迁,我们的科学技术也在持续发展。从50年前人们直接取水饮水生活开始,到20年前瓶装水的崛起,从10年前家庭传统饮水机发展直到净水器直饮机系…

侯圣文大数据体验课笔记,大数据基础,离线数仓,实时计算

侯圣文大数据体验课笔记 一、玩转大数据和互联网大厂大数据解析 大数据职位有广袤的海洋: 未来比较吃香的ABC A:AI人工智能 B:Big Date大数据 C:云计算 人工智能算逛吃看买肉眼检索数据库查询智能推荐存脑袋海报数据库DB大数据BD 客户买…

售前售后问题(甲润)

在这里插入代码片TOC 运费 茶吧机一般是55元以内,饮水机45元以内,偏远地区贵一些,但是运费90以上为不合理 建议换快递 都是10A 快递问题 深圳韵达 发QQ安德智联 收货地址和显示签收的地址不同 发查件群 格式: 韵达快递,43296…

水质无声净化,热水随叫随到,莱卡直饮过滤饮水机体验

冬季不仅天气冷,空气还特别干燥,在屋里坐一会儿,不知不觉就口干舌燥了,想喝杯热水解解渴,烧好一大壶水之后,很快又凉了。相信很多朋友在冬天都有喝不到热水的烦恼,好在这两年市面上出现了即热式饮水机,解决了不少问题,最近我发现了一款莱卡直饮过滤饮水机,体积不大、…

自己装修总结/商转公

商转公写在前面,装修的写在后面,都只代表我自己的情况,仅供参考。 ~~~~~~~~~~~~~~~~~~~~~~~商贷转公积金~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 我们是2019年在长沙买的房,首付30w,向建行贷款60w,利率5.485%&…