千家信息网

Hive如何实现数据装载

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关Hive如何实现数据装载,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。既然Hive没有行级别的数据插入、数据更新和删除操作,那么往表中装
千家信息网最后更新 2026年11月01日Hive如何实现数据装载

这篇文章将为大家详细讲解有关Hive如何实现数据装载,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

既然Hive没有行级别的数据插入、数据更新和删除操作,那么往表中装载数据的唯一途径就是使用一种"大量"的数据装载操作。或者通过其他方式仅仅将文件写入到正确的目录下。

第一种方式之前介绍过了,LOAD,一条命令一笔带过

LOAD DATA LOCAL INPATH /data/ OVERWRITE INTO TABLE ods_login PARTITION (dt='2020-03-01');

第二种方式通过查询语句向表中插入数据

INSERT语句允许用户通过查询语句向目标表中插入数据。依旧使用前章中表 ods_login作为例子,假设我们的ods_login已经通过load有数据了,数仓的下一层是dwd,那么我们需要将数据从ods_login写入到dwd_login,像这样(省略掉数据清洗逻辑)

INSERT OVERWRITE TABLE dwd_loginPARTITION (dt='20200302')SELECT * FROM ods_loginWHERE dt='20200302'

这里使用了 OVERWRITE关键字,因此之前分区中的内容(如果是非分区表,就是之前表中的内容)将会被覆盖掉。这里如果没有使用OVERWRITE关键字或者使用INTO关键字替换掉它的话,那么Hive 将会以追加的方式写入数据而不会覆盖掉之前已经存在的内容。

单个査询语句中创建表并加载数据

用户同样可以在一个语句中完成创建表并将查询结果载入这个表的操作:

CREATE TABLE dwd_loginAS SELECT name, salary, addressFROM ods_loginWHERE date='20200302'

这张表只含有dwd_login表中name、salary和address3个字 段的信息。新表的模式是根据SELECT语句来生成的。

使用这个功能的常见情况是从一个大的宽表中选取部分需要的数据集。

这个功能不能用于外部表。可以回想下使用ALTER TABLE语句可以为外部表"引用" 到一个分区,这里本身没有进行数据"装载",而是将元数据中指定一个指向数据的 路径。

然而,如果表ods_login非常大,而且需要从这个表中不同字段的数据做不同的处理,然后写入不同的表中的话,就没有那么简单了。好在 Hive提供了另一种INSERT语法, 即只扫描一次输入数据,然后按多种方式进行划分。如下:

FROM ods_loginINSERT OVERWRITE TABLE dwd_loginPARTITION (dt='20200302')SELECT * WHERE event='login' and dt='20200302'INSERT OVERWRITE TABLE dwd_loginPARTITION (dt='20200303')SELECT * WHERE event='login' and dt='20200303'INSERT OVERWRITE TABLE dwd_loginPARTITION (dt='20200304')SELECT * WHERE event='login' and dt='2020030

从ods_login表中读取的每条 记录都会经过一条SELECT ... WHERE ...句子进行判断。这些句子都是独立进行判断的,不是 IF...THEN...ELSE...结构

事实上,通过使用这个结构,源表中的某些数据可以被写入目标表的多个分区中或者不被写入任一个分区中。

如果某条记录是满足某个SELECT ... WHERE ...语句的话,那么这条记录就会被写入 到指定的表和分区中。简单明了地说,每个INSERT子句,只要有需要,都可以插入 到不同的表中,而那些目标表可以是分区表也可以是非分区表。

因此,输入的某些数据可能输出到多个输出位置而其他一些数据可能就被删除掉了。当然,这里可以混合使用INSERT OVERWRITE句式和INSERT INTO句式。

关于"Hive如何实现数据装载"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

数据 语句 方式 装载 不同 内容 关键 关键字 目标 篇文章 分区表 查询 功能 句子 句式 多个 就是 是非 更多 用户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 科技互联网项目 互联网科技资迅 互联网科技公司发展 世界互联网领先科技成果 天下捷融互联网科技 西藏七维空间互联网科技有限公司 字节跳动和互联网科技 中国科技创新与世界互联网大会 2021互联网科技公司排名 从那以后互联网科技有限公司 互联网与数字科技关系 互联网科技包装股份有限公司上市 神州科技互联网有限公司 吉林省码上互联网科技电话 银川新华互联网科技学校原画 互联网科技职业技能培训学校 美国五大互联网科技公司市值多少 安徽零酒互联网科技有限公司 现代科技的标志之一的互联网 新华互联网科技学校 美国互联网科技 南京欣网互联网科技 上游互联网科技 中国航天科技大学国际工业互联网 玉溪互联网科技怎么选 深圳市优智互联网科技有限公司 互联网金融科技展 现代科技的标志之一的互联网 科技美学互联网 艺术
0