Hive----DML数据操作

5.1.1 向表中装载数据(Load)语法: load data [local] inpath ‘文件路径’ [overwrite] into table 表名 [partition (partcol1=val1,…)];(1)load data:表示加载数据
(2)local:表示从本地加载数据到hive表;否则从HDFS加载数据到hive表
(3)inpath:表示加载数据的路径
(4)overwrite:表示覆盖表中已有数据,否则表示追加
(5)into table:表示加载到哪张表
(6)partition:表示上传到指定分区5.1.2 通过查询语句向表中插入数据(Insert)
1.基本插入数据
insert into table 表名 (字段1,字段2)values(字段1值,字段2值),(字段1值,字段2值);
2.基本模式插入(根据单张表查询结果)
insert overwrite table 表名 partition(分区名=分区值)select id, name from 表名 where 分区名=分区值;
insert into:以追加数据的方式插入到表或分区,原有数据不会删除
insert overwrite:会覆盖表或分区中已存在的数据
注意:insert不支持插入部分字段
3.多表(多分区)插入模式(根据多张表查询结果)
from student
insert overwrite table student partition(month=‘201707’)
select id, name where month=‘201709’
insert overwrite table student partition(month=‘201706’)
select id, name where month=‘201709’;5.1.3 查询语句中创建表并加载数据(As Select)

create table if not exists 表1 as select 字段 from 表2;
注:根据查询结果创建表(查询的结果会添加到新创建的表中),表1所用的字段及数据全部为表2的字段及数据5.1.4 创建表时通过Location指定加载数据路径create table if not exists 表名(字段,数据类型)row format delimited fields terminated by ‘\t’ location ‘hdfs上的数据路径’;
5.1.5 Import数据到指定Hive表中
import table 表名 partition(month=‘201709’) from ‘hdfs路径’;
注意:先用export导出后,再将数据导入。创建表及导入数据5.2 数据导出5.2.1 Insert导出insert overwrite [local] directory ‘导出数据的存放地址’:local表示本地
ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t’ :导出数据格式化
select * from student;查询表的数据为导出的数据5.2.2 Hadoop命令导出到本地
dfs -get hdfs文件的路径 本地路径;5.2.3 Hive Shell 命令导出
基本语法:(hive -f/-e 执行语句或者脚本 > file)
bin/hive -e ‘查询数据sql;’ >(写入) 本地存放路径;5.2.4 Export导出到HDFS上
export table 表名 to ‘hdfs路径’;
export和import主要用于两个Hadoop平台集群之间Hive表迁移。5.2.5 Sqoop导出
后续课程专门讲。5.3 清除表中数据(Truncate)
truncate table 表名;
注意:Truncate只能删除管理表(内部表),不能删除外部表中数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值