HiveSQL DML动态分区

本文介绍了HiveSQL中的动态分区模式,通过非严格模式设置,展示如何将新表`student_outer`的数据一次性插入到`student`表的多个分区中。内容包括数据准备、新表创建、数据装载、分区插入以及如何将查询结果写入HDFS目录。
摘要由CSDN通过智能技术生成

2.6动态分区模式(让分区成为变量)
脚本模板

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

设置非严格模式

set hive.exec.dynamic.partition.mode=nonstric;

样例
有新表 student_outer,即新来的外部学生表,有若干学生数据,与student 表结构完全相同。
将 student_outer 表的多个分区数据,一次性插入到 student 表中。
数据准备
创建新表 student_outer 与之前的 student 结构完全一致

CREATE	TABLE student_outer( 
id string comment ' 学 号 ', 
username string comment '姓名', 
classid int comment '班级id',
classname string comment '班级名称') comment '学生信息主表'
partitioned by (come_date string comment '按入学年份分区') 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY '\t' 
LINES TERMINATED BY '\n'
STORED AS textfile;

装载数据

LOAD DATA LOCAL INPATH './student.txt' 
OVERWRITE INTO TABLE s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值