HiveQL:数据操作-导入和导出

–向管理中加载数据 (分区目录不存在,则会先创建分区)

load data local inpath '${env:HOME}/california-employees'
overwirte into table employees
partition (country = 'US', state ='CA')

–通过查询语句向表中插入数据

insert overwrite table employees
partition (country = 'US', state = 'OR')
select * from staged_employee se 
where se.cntry = 'US' AND se.st = 'OR';

–通过查询语句向表中插入数据(使用分区)

from staged_employees se
insert overwrite table employees
	partition (country = 'US', state = 'OR')
	select * where se.cnty = 'US' and se.st = 'OR'
insert overwrite table employees
	partition (country = 'US', state = 'CA')
	select * where se.cnty = 'US' and se.st = 'CA'
insert overwrite table employees
	partition (country = 'US', state = 'IL')
	select * where se.cnty = 'US' and se.st = 'IL'

–动态分区插入数据

insert overwrite table employees
partition (country , state)
select ...,se.cnty, se.st
from staged_employees se;

–静态+动态分区插入数据

insert overwrite table employees
partition (country = 'US', state)
select ...,se.cnty, se.st
from staged_employees se
where sc.cnty = 'US';

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

create table ca_employees
as select name ,salary ,address 
from employees 
where sc.state = 'CA';

–导出数据

insert overwirte local directory '/tmp/ca_employees'
select name, salary ,address
from employees
where sc.state = 'CA';

–批量导出数据

from staged_employees se
insert overwrite directory 'tmp/or_employees'
	select * where se.vty = 'US' and se.st = 'OR'
insert overwrite directory 'tmp/ca_employees'
	select * where se.vty = 'US' and se.st = 'CA'
insert overwrite directory 'tmp/il_employees'
	select * where se.vty = 'US' and se.st = 'IL'

–参考<<Hive权威指南>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值