hive分区分桶

========================================
1、启动服务
start-all.sh
2、关闭安全模式
hadoop dfsadmin -safemode leave
3、
hive --service hiveserver2 &
========================================
CREATE  database moves;
use moves;
create table movw(
 movieId int,
 name string,
 types string,
 score string,
 years string
)
row format delimited
fields terminated by ',';

load data local inpath "/root/log.csv" overwrite into table movw;

SELECT * FROM movw;

create table suo(
 movieId int,
 name string,
 types string,
 score string
)
partitioned by (years string) #分区
clustered by (types) #分桶字段
sorted by (score DESC )#排序 into 4 buckets #分4桶
row format delimited
fields terminated by ',';

set hive.exec.dynamic.partition.mode=nonstrict; #设置动态分区
SET hive.exec.dynamic.partition = true; #开启分区
SET hive.enforce.bucketing = true; #开启分区

INSERT into table suo partition(years) SELECT movieId,name,types,score,years FROM movw cluster by (types);

=================================================================
insert into table moves SELECT movieid,SUBSTR(title, 1, LENGTH(title)-6) as title,substr(title,-5,4) as years,genres[0] as types,score  from move;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值