hive 分桶

Hive中的分桶表通过CLUSTERED BY关键字基于特定列的哈希值进行分桶。数据写入时,直接使用LOAD DATA LOCAL不支持自动分区。要保持数据与分桶表定义一致,可以开启enforce bucketing或设置reducer数量等于桶数。如果分桶表有排序键,数据需同时分桶和排序。在Inceptor的ORC事务表中,强制要求进行分桶,每个桶的文件大小建议在100~200MB之间。
摘要由CSDN通过智能技术生成
CREATE [EXTERNAL] TABLE <table_name>
    (<col_name> <data_type> [, <col_name> <data_type> ...])]
    [PARTITIONED BY ...] 
    CLUSTERED BY (<col_name>) 
        [SORTED BY (<col_name> [ASC|DESC] [, <col_name> [ASC|DESC]...])] 
        INTO <num_buckets> BUCKETS  
    [ROW FORMAT <row_format>] 
    [STORED AS TEXTFILE|ORC|CSVFILE]
    [LOCATION '<file_path>']    
    [TBLPROPERTIES ('<property_name>'='<property_value>', ...)];

具体示例

分桶关键字CLUSTERED BY (<col_name>)

只能指定一个列名,会根据指定的列名的hash进行分桶

create table users(id int,name string) clustered by (<id>) into 3 buckets
    row format delimited
        fields terminated by '\t'
        lines terminated by '\n'
        stored as textfile;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值