【Hive四】HQL DML之LOAD和INSERT

本文主要介绍了Hive的DML操作,包括LOAD数据加载和INSERT数据插入。LOAD操作简单地将数据复制到Hive表的指定位置,不进行任何转换。INSERT分为基本插入和批量插入,可用于数据的频繁更新。通过示例展示了如何使用LOAD和INSERT导入数据到Hive表,特别是导入到分区表的指定分区。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. HQL DML

 

  • 数据加载语句 LOAD
  • 数据插入语句 INSERT
  • 数据查询语句 SELECT
  • 查看HQL执行计划 explain
  • 表/分区导入导出 export/Import

2. LOAD

 

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

 

LOAD说明:

  • 当数据被加载至表中时,不会对数据进行任何转换。Load 操作只是将数据复制/移动至 Hive 表对应的位置。
  • 默认每个表一个目录,比如数据库mydb中,表名为mytable,则数据存放位置为:${metastore.warehouse.dir}/mydb.db/mytable,文件名跟导入时的文件名一致
  • metastore.warehouse.dir默认值是/user/hive/warehouse

3. INSERT

3.1 基本INSERT

 

INSERT OVERWRITE TABLE tablename[PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement FROM from_statement

 

3.2 批量INSERT

 

从一个表中多次查询多次插入

 

FROM from_statement INSERT OVERWRITE TABLE tablename1 [PARTITION...)] select_statement1 [INSERT OVERWRITE TABLE tablename2 [PARTITION ...] select_statement2] ...

 

4. LOAD和INSERT实例

 

 

 

 

 5. Hive导入数据到分区表的指定分区

  load data local inpath '/home/admin/yuzt/word.txt' into table word_count_input_2partitions partition(dt1="20151211",dt2="20151212");

  load data local inpath '/export/App/YH-bds-mapred/hhgdata/abc.txt' into table word_count_input partition(dt="20151211");

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值