Hive中的DML操作

news2025/2/23 18:40:02

文章目录

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

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

相关文章

美团 551 亿佣金收入,需要“埋葬”多少客单20元的中小商家?

文 | 新熔财经 作者 | 卡夫卡 热度喧嚣尘上的618大促氛围里,中小商家们当了一回主角。 在急需提振消费、复苏经济的2023年,各大电商平台史上第一次,出意料之外但又情理之中地在618,把资源最为丰沛的C位给了中小商家。 但这样和…

【数据结构与算法篇】 二叉树的性质(补充)

​👻内容专栏:《数据结构与算法篇》 🐨本文概括: 继上一篇深入浅出_二叉树之后遗漏掉了,再次写一篇二叉树的性质博文,对二叉树进行补充总结。 🐼本文作者:花 碟 🐸发布时…

qt 乱码

init() { // 根据配置加载默认语言系统 // 解决中文乱码问题 QTextCodec *codec QTextCodec::codecForName("system"); QTextCodec::setCodecForLocale(codec); } 设置 /execution-charset:utf-8

LVS负载均衡群集部署——NAT模式

LVS负载均衡群集部署——NAT模式 一、群集概述1、群集存在的必要2、解决方法3、根据集群针对的目标差异分类 二、负载均衡群集架构三、负载均衡群集工作模式分析1、NAT模式2、TUN模式3、DR模式4、三种工作模式的区别 四、LVS虚拟服务器1、Linux Virtual Server2、LVS现在已成为…

2核2G轻量应用服务器3M带宽阿里云和腾讯云性能对比

2核2G3M轻量应用服务器选阿里云还是腾讯云?腾讯云2核2G3M轻量应用服务器95元一年,阿里云2核2G3M配置优惠价108元一年,如何选择?阿腾云详细对比阿里云和腾讯云轻量应用服务器2核2G3M配置CPU性能及选择方法: 目录 轻量…

Spring6源码编译、安装

环境准备 名称版本jdk17gradle8.1.1spring源码版本6.0.9 安装JDK 下载并解压 配置环境变量 JAVA_HOME D:\\Develop\\Zulu\\zulu-17 CLASSPATH .;%JAVA_HOME%\lib; PATH %JAVA_HOME%\bin验证 java -version安装Gradle 下载并解压 配置环境变量 GRADLE_HOME D:…

网络安全面试题大全(整理版)500+面试题附答案详解,最全面详细

前言 随着国家政策的扶持,网络安全行业也越来越为大众所熟知,想要进入到网络安全行业的人也越来越多。 为了拿到心仪的Offer之外,除了学好网络安全知识以外,还要应对好企业的面试。 作为一个安全老鸟,工作这么多年&…

使用 YApi 管理 API 文档,测试, mock

随着互联网的发展,API变的至关重要。根据统计,目前市面上有上千万的开发者,互联网项目超过10亿,保守统计涉及的 API 数量大约有 100 亿。这么大基数的API,只要解决某些共有的痛点,将会是非常有意义的事情。…

CISP好考吗?考试大纲有哪些,CISP通过率有多少?

CISP全称:注册信息安全专业人员,发证机构是:中国信息安全测评中心;面向的培训对象是:各信息系统管理、建设、运行维护、督查及从事信息化工作的相关人员; 国测中心对报考CISP也是有学历要求的:硕…

Fmoc-Ser(Ac4Manα1-2Ac3Manα)-OH,一种糖基化氨基酸,化合物CAS号1427205-92-2

Fmoc-Ser(Ac4Manα1-2Ac3Manα)-OH是一种化学品,CAS编号1427205-92-2,分子式C44H51NO22,分子量为945.88。它的纯度标准达到95%以上,供应包装规格有1克、5克和10克,也可进行定制,时间周期可与生产厂家沟通。…

Simulink尝试双脉冲实验验证MOSFET二极管反向恢复实验的特性(附仿真模型)

目录 前言 双脉冲实验 Simulink仿真对比 总结 前言 最近在做交错串联的图腾柱单相PFC的项目,基于模型的开发,想要在仿真上实现过零点尖峰电流产生并通过软启动进行抑制,把整个过程都通过仿真实现出来,在这个过程中尝试了Simul…

WPS:文件输出与输出格式PDF与图片。

WPS的文件输出格式有很多种 点击文件后会出现两种能输出的方式,如果是word则有三种: 图片与PDF word: 点击输出为PDF后会跳出一个对话框: 可以在右边选择输出的范围:第x页 到 第y页 在输出为PDF的右边有一个设置选项…

如何将测绘数据加载到三维地图中,解决海量测绘数据在线管理难题?

《四维轻云》是四川兴域技术团队基于浏览器打造的一款地理空间数据在线管理平台,可实现TB级大规模倾斜摄影三维模型、正射影像、激光点云、数字高程模型等数据在线发布、管理及分享,并支持私有化部署和高阶功能定制化开发,解决了海量测绘数据…

企业国际物流信息化解决方案_箱讯科技

随着全球化的加速和国际贸易的不断扩大,物流行业的重要性日益凸显。企业国际物流信息化解决方案成为了提高企业物流效率和降低成本的重要手段。本文将从信息化对物流行业的影响、企业国际物流信息化解决方案的构成和实施步骤三个方面进行探讨。 一、信息化对物流行业…

nodejs+vue+elementui校园车辆校车管理系统

开发语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 本界面为学生用车信息的添加界面 本界面是校园车辆的使用记录信息,包括校车的编号,校车的名称&#xff0…

指针 和 数组 习题总结

这里看着脑袋晕了可以休息一下的。 目录 1. 数组 1.1 一维数组: 1.2 字符数组 1.3 字符串 1.4 二维数组 2. 指针 开始之前我们简单复习一下数组与指针的相关知识 数组 - 能够存放一组相同类型的元素,数组的大小取决于数组的元素个数和元素类型 指…

人工智能-实验一

第一次实验 一.实验目的 掌握有信息搜索策略的算法思想能够编程实现搜索算法应用A*搜索算法求解罗马尼亚问题 二.算法原理 1.A*搜索的评估函数 ​ A算法是一种启发式算法。A*搜索对结点的评估包含两部分,一部分是到达此结点已经花费的代价,记为g(n)&…

笔记本电脑的BIOS是怎么保护安全的?

随着攻防技术的不断演进,像BIOS攻击、高级网络代码攻击等手段层出不穷,“受害者”也不仅限于企业级服务器、存储,很多魔爪也开始伸向了拥有商业机密数据的PC。 BIOS是Basic Input/Output System(基本输入/输出系统)的…

07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置

Web大前端时代之:HTML5CSS3入门系列:Web大前端时代之:HTML5CSS3入门系列 - 毒逆天 - 博客园 源码:https://github.com/dunitian/LoTHTML5/tree/master/LoTHTML5/4.HTML5定位 定位类型 IP 定位 优点 任何位置都可用 在服务器端…

获奖!!!元年科技荣获信创“大比武”云平台技术支撑赛道单项奖

2022年底,由北京航空航天大学、北京理工大学、中国电子工业标准化技术协会信息技术应用创新工作委员会(简称信创工委会)共同主办的2022信创“大比武”活动圆满落幕。大赛由云平台技术支撑、操作系统生态建设、通信业务运营技术等七大赛道构成…