动态分区装载数据


不开启

一个个分区导入,分区需要做到一对一。

hive (zmgdb)> insert overwrite table p_t3 partition (city='ningbo')
            > select name,post,address from p_t1 where city='ningbo';


会启动mapreduce进行导入,mr卡在kill job_xxxx,等了很久没反应,原因是分配给yarn的内存太小。需要修改yarn-site.xml里的配置。

见博客: http://blog.csdn.net/zengmingen/article/details/52609873

(如果按照上面的博客配置了,时而行,时而不行。如果是vm虚拟机搭建的,那就重启吧)


如果一张表,比如按全国的城市分区的表,那一个个分区导入,费时费力。

于是需要有自动能一对一导入的功能,即动态分区装载数据。


开启

hive>set hive.exec.dynamic.partition=true;
hive>set hive.exec.dynamic.partition.mode=nostrict;
hive>set hive.exec.max.dynamic.partitions.pernode=1000;


hive (zmgdb) > create table p_t4 like p_t1;

hive (zmgdb)>  insert overwrite table p_t4 partition (city)
            > select * from p_t1;

hive会启动mapreduce导入。

hive (zmgdb)> select * from p_t4;
OK
p_t4.name       p_t4.post       p_t4.address    p_t4.city
1       dddd    dddd    beijing
2       www     www     beijing
3       eeee    wwww    beijing
4       tttt    cccc    beijing
5       yyycc   dddd    beijing
1       dddd    dddd    ningbo
2       www     www     ningbo
3       eeee    wwww    ningbo
4       tttt    cccc    ningbo
5       yyycc   dddd    ningbo
1       dddd    dddd    taizhou
2       www     www     taizhou
3       eeee    wwww    taizhou
4       tttt    cccc    taizhou
5       yyycc   dddd    taizhou
Time taken: 0.155 seconds, Fetched: 15 row(s)
hive (zmgdb)> 


table p_t1


table p_t4






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

松门一枝花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值