【大数据之Hive】十、Hive之DML(Data Manipulation Language)数据操作语言

这篇具有很好参考价值的文章主要介绍了【大数据之Hive】十、Hive之DML(Data Manipulation Language)数据操作语言。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 Load

将文件导入Hive表中。
语法:

hive>load data [local] inpath 'filepath' [overwrite] into table tablename [partition (partcol1=val1, ...)];

关键字说明:
(1)local:表示从本地加载数据到Hive表;否则从HDFS加载数据到HIve表。
(2)overwrite:表示覆盖表中已有数据,否则表示追加。
(3)partition:表示上传到指定分区,若目标是分区表则需要指定分区。
如:

-- 先创建一张表:
create table student(
    id int,
    name string
)
row format delimited fields terminated by '\t';

-- 加载本地文件到hive:
load data local inpath '/opt/module/hive/datas/student.txt' into table student;

-- 加载HDFS文件到hive:
    --上传文件到HDFDS:
hadoop fs -put /opt/module/hive/datas/student.txt /user/liaoyanxia
    -- 加载HDFS上数据,导入完成后去HDFS上查看文件是否存在:
load data inpath '/user/liaoyanxia/student.txt' into table student;

-- 加载数据覆盖表中已有数据:
    -- 上传文件到HDFS:
dfs -put /opt/module/datas/student.txt /user/liaoyanxia;
    -- 加载数据覆盖表中已有数据:
load data inpath '/user/liaoyanxia/student.txt' overwrite into table student;

2 Insert

2.1 将查询值插入表中

语法:

insert (into | overwrite) table tablename [partition (partcal1=val1, ...)] select_statement;

关键字说明:
(1)into:将结果追加到目标表。
(2)overwrite:用结果覆盖原有数据。
如:

-- 先创建一张表:
create table student1(
    id int,
    name string
)
row format delimited fields terminated by '\t';

--根据查询结果插入数据:
insert overwrite table student1 select id,name from student;

2.2 将给定的value插入表中

语法:

insert (into | overwrite) table tablename [partition (partcal1=[val1], ...)] values values_row [(index,'values_row'), ...];

如:

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

2.3 将查询的结果写入目标路径

语法:

insert overwrite [local] directory directory [row format roe_format] [stored ass file_format] select_statement;

如:

insert overwrite local directory '/opt/module/hive/datas/student' row format serde 'org.apache.hadoop.hive.serde2.JsonSerDe' select id,name from student;

3 Export & Import

  Export到此处语句将表的数据和元数据信息导出到HDFS路径;Import将Expot导出的内容导入Hive,恢复表中的数据和元数据。
  Export和Import用于两个Hive实例间的数据迁移。
语法:

-- 导出:
export table tablename to 'export_target_path';

-- 导入:
import [external] table new_or_original_tablename from 'source_path' [location 'import_target_path'];

如:文章来源地址https://www.toymoban.com/news/detail-487022.html

-- 导出:
export table default.student to '/user/hive/warehouse/export/student';

-- 导入:
import table student2 from 'user/hive/warehouse/export/student';

到了这里,关于【大数据之Hive】十、Hive之DML(Data Manipulation Language)数据操作语言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HIVE表 DML 操作——第4关:将 select 查询结果写入文件

    第4关:将 select 查询结果写入文件 任务描述 本关任务:根据编程要求将 select 查询结果写入文件。 相关知识 为了完成本关任务,你需要掌握:1.单文件写入,2.多文件写入。 可以把 Hive 查询结果写入或导出到文件中,与查询结果插入到表中类似,导出 Hive 表中的数据到文件

    2024年02月05日
    浏览(32)
  • 大数据开发之Hive(基本概念、安装、数据类型、DDL数据定义、DML数据操作)

    1.1.1 Hive产生背景 HDFS来存储海量的数据、MapReduce来对海量数据进行分布式并行计算、Yarn来实现资源管理和作业调度。但是面对海量的数据和负责的业务逻辑,开发人员要编写MR对数据进行统计分析难度极大,所以就产生了Hive这个数仓工具。Hive可以帮助开发人员将SQL语句转化

    2024年01月17日
    浏览(30)
  • SQL语句详解三-DML(数据操作语言)

    DML(数据操作语言):增删改表中数据,针对的对象是数据库中表格的数据。 添加数据 语法 注意事项 列名 要和 值 一一对应 如果表名后,不定义列名,则默认给所有列添加值(方式二) 除了数字类型,其他类型需要使用 引号( 单双都可以 ) 引起来 示例代码 删除数据 语法 注意

    2024年01月21日
    浏览(34)
  • MySQL数据库基础(八):DML数据操作语言

    文章目录 DML数据操作语言 一、DML包括哪些SQL语句 二、数据的增删改(重点) 1、数据的增加操作 2、数据的修改操作 3、数据的删除操作 insert插入、update更新、delete删除 增加:insert 删除:delete 修改:update 1、数据的增加操作  基本语法: 特别注意:在SQL语句中,除了数字,

    2024年02月19日
    浏览(35)
  • Hive 表 DML 操作

    导入命令语法: Load 操作执行 copy/move 命令把数据文件 copy/move 到 Hive 表位于 HDFS 上的目录位置,并不会对数据内容执行格式检查或格式转换操作。 Load 命令语法为: LOAD DATA [LOCAL] INPATH \\\'filepath\\\' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=vall,partcol2=val2 …)]; 文件路径 filepath 可以是

    2024年02月06日
    浏览(36)
  • Hive 常用DML操作

    本专栏案例数据集链接:   https://download.csdn.net/download/shangjg03/88478038  LOCAL 代表从本地文件系统加载文件,省略则代表从 HDFS 上加载文件: 从本地文件系统加载文件时, `filepath` 可以是绝对路径也可以是相对路径 (建议使用绝对路径); 从 HDFS 加载文件时候,`

    2024年02月07日
    浏览(28)
  • HIVE表 DML 操作——第3关:将 select 查询结果插入 hive 表中

    第3关:将 select 查询结果插入 hive 表中 任务描述 本关任务:根据编程要求将 select 查询结果插入 hive 表中。 相关知识 为了完成本关任务,你需要掌握:1. 单表插入,2. 多表插入。 通过使用查询子句从其他表中获得查询结果,然后使用 INSERT 命令把数据插入到 Hive 新表中(

    2024年02月02日
    浏览(28)
  • Mysql 数据库DML 数据操作语言—— 对数据库表中的数据进行更改UPDATE 和删除DELETE

        delete语句可以有条件,也可以没有,如果没有条件的话就是删除整张表 delete不可以删除表中某一个字段的值,但是update可以; 

    2024年01月19日
    浏览(45)
  • Hive(18):DML之Load加载数据

    1 背景 回想一下,当在Hive中创建好表之后,默认就会在HDFS上创建一个与之对应的文件夹,默认路径是由参数hive.metastore.warehouse.dir控制,默认值是/user/hive/warehouse。 要想让hive的表和结构化的数据文件产生映射,就需要把文件移到到表对应的文件夹下面,当然,可以在建表的时

    2024年02月13日
    浏览(58)
  • Hive(19):DML之Insert插入数据

    1 背景:RDBMS中insert使用(insert+values) 在MySQL这样的RDBMS中,通常是insert+values的方式来向表插入数据,并且速度很快。这也是RDBMS中插入数据的核心方式。 假如说对Hive的定位不清,把Hive当成RDBMS来使用,也使用insert+values的方式插入数据,会如何呢? 你会发现执行过程非常非

    2024年02月13日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包