首页 > 其他分享 >Hive DML(数据操作语言)操作指南

Hive DML(数据操作语言)操作指南

时间:2024-09-05 12:55:12浏览次数:12  
标签:default 表中 DML hive 语法 Hive student table 操作

目录

DML(Data Manipulation Language)数据操作

 Load

1)语法

2)实操案例

 Insert

 将查询结果插入表中

1)语法

2)案例

 将给定Values插入表中

1)语法

2)案例

 将查询结果写入目标路径

1)语法

2)案例

 Export & Import

1)语法

2)案例


DML(Data Manipulation Language)数据操作

 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)创建一张表

hive (default)>
create table student(
  id int, 
  name string
) 
row format delimited fields terminated by '\t';

(1)加载本地文件到hive

hive (default)> load data local inpath '/opt/module/datas/student.txt' into table student;

(2)加载HDFS文件到hive中

①上传文件到HDFS

[lzl@hadoop12 ~]$ hadoop fs -put /opt/module/datas/student.txt /user/lzl

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

hive (default)> 
load data inpath '/user/lzl/student.txt' 
into table student;

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

①上传文件到HDFS

hive (default)> dfs -put /opt/module/datas/student.txt /user/lzl;

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

hive (default)> 
load data inpath '/user/lzl/student.txt' 
overwrite into table student;

 Insert

 将查询结果插入表中

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

关键字说明:

  1. INTO:将结果追加到目标表
  2. OVERWRITE:用结果覆盖原有数据
2)案例

(1)新建一张表

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

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

hive (default)> insert overwrite table student3 
select 
  id, 
  name 
from student;

 将给定Values插入表中

1)语法
INSERT (INTO | OVERWRITE) TABLE tablename [PARTITION (partcol1[=val1], partcol2[=val2] ...)] VALUES values_row [, values_row ...]
2)案例
hive (default)> insert into table  student1 values(1,'wangwu'),(2,'zhaoliu');

 将查询结果写入目标路径

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;

 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)案例

导出

hive>
export table default.student to '/user/hive/warehouse/export/student';

导入

hive>
import table student2 from '/user/hive/warehouse/export/student';

标签:default,表中,DML,hive,语法,Hive,student,table,操作
From: https://blog.csdn.net/qq_45115959/article/details/141928025

相关文章

  • SQLSERVER建立Oracle Provider for OLE DB操作文档
    1、 下载ODAC-21.7-Xcopy-64-bit,并解压到目录ODAC21.72、 D盘创建目录:Oracle21C3、 CMD转向到目录ODAC21.7,输入【install.batoledbc:\oracleodac】,安装服务4、 系统环境变量中,为Path添加“D:\ Oracle21C;D:\ Oracle21C \bin;”5、 重启计算机,一定要重启6、 SQLS......
  • 五分钟快速理解new操作符
    五分钟快速理解new操作符(1)new操作符做了哪些事情(4步)(2)代码示例(3)手写new标识符(1)new操作符做了哪些事情(4步)新建一个新的空对象{}让空对象的__proto__和构造函数的prototype建立链接{_proto:Person.prototype}改变this指向,让构造函数中的this指......
  • 20240905_102100 mysql 备份与恢复 可视化软件sqlyog操作
    导出备份导入备份......
  • MongoDB单节点部署与基本操作
    MongoDB7.0单节点部署与MongoDBshell基本操作部署准备:1、操作系统:CentOS7.9 2、在操作系统中,创建一个mongod的用户和用户组,并配置其sudo权限,如果使用root用户可以不考虑准备此项。3、mongodb服务二进制包:mongodb-linux-x86_64-rhel70-7.0.14.tgz。下载地......
  • Hive时间窗口函数保姆级教程(最全解析、应用和优化)(持续更新)
    目录第一章Hive时间窗口函数基础1.1时间窗口函数定义1.2Hive支持的时间窗口函数1.2.1ROW_NUMBER()1.2.2RANK()1.2.3DENSE_RANK()1.2.4LEAD()和LAG()1.2.5FIRST_VALUE()和LAST_VALUE()1.3时间窗口函数语法与参数1.3.1PARTITIONBY子句1.3.2ORDERBY......
  • 数据库系统------RDBMS数据的查询、定义、操作
    SQL(结构化查询语言)DML(DataManipulationLanguage,数据操作语言)专注于对数据库中的数据进行操作的语言主要有以下的操作:SELECT:查询数据INSERT:插入新数据UPDATE:更新现有数据DELETE:删除数据主要分为两类过程性:用户指定所需的数据以及要进行的操作非过程性:用户只需......
  • 两大信号 华为又有神操作
    文|琥珀食酒社作者|积溪华为的神操作又要来了三折叠手机马上就要亮相手机圈的所有友商们又要睡不着觉了这次华为选择和苹果硬刚发布会都定在了同一天绝对不是巧合而是神来之笔就是要告诉苹果该是华为的市场它都得拿回来也让友商们认清了一个事实高端机市场还得看华为华为被限制了......
  • Windows 一顿操作倒逼用户!Linux 桌面坐收渔利,市场份额攀至新高峰
    根据StatCounter的最新数据,截至2024年7月,Linux在全球桌面操作系统的市场份额已达到4.45%。虽然这一百分比对于那些不熟悉操作系统领域的人来说可能看起来很小,但它对Linux及其专注的社区来说是一个重要的里程碑。更令人振奋的是Linux采用率的上升趋势。图片1.稳定进步......
  • 关于Java链表的一些操作以及力扣原题刷刷刷——反转链表、删除链表的倒数第N个节点
    1、反转链表1.1环境准备,可以自己先尝试实现/***@AuthorMiku*@Date2024/09/0209:54*@DescriptionTODO*@Version1.0*/publicclassSolution{staticclassListNode{intval;ListNodenext;ListNode(intval){......
  • 【LabVIEW学习篇 - 16】:文件操作
    文章目录CSV文件CSV写入CSV读取TXT文件txt写入txt读取INI文件INI文件写入INI文件读取CSV文件.csv(Comma-SeparatedValues)是逗号分隔值文件格式,有时也称之为字符分隔值,因为分隔符也可以不是逗号(最常见的是逗号和制表符),它是以纯文本的格式来存储表格数据,文件由......