5.Hive参数设置、运作方式、动态分区、分桶

Hive动态分区

  1. hive的动态分区介绍

    • hive的静态分区需要用户在插入数据的时候必须手动指定hive的分区字段值,但是这样的话会导致用户的操作复杂度提高,而且在使用的时候会导致数据只能插入到某一个指定分区,无法让数据散列分布,因此更好的方式是当数据在进行插入的时候,根据数据的某一个字段或某几个字段值动态的将数据插入到不同的目录中,此时,引入动态分区。

  2. hive的动态分区配置

    --hive设置hive动态分区开启
        set hive.exec.dynamic.partition=true;
        默认:true
    --hive的动态分区模式
        set hive.exec.dynamic.partition.mode=nostrict;
        默认:strict(至少有一个分区列是静态分区)
    --每一个执行mr节点上,允许创建的动态分区的最大数量(100)
        set hive.exec.max.dynamic.partitions.pernode;
    --所有执行mr节点上,允许创建的所有动态分区的最大数量(1000)  
        set hive.exec.max.dynamic.partitions;
    --所有的mr job允许创建的文件的最大数量(100000) 
        set hive.exec.max.created.files;(10万数值是根据linux上1G内存大约同时操作10万个文件,所以去的linux默认1G内存)
  3. hive动态分区语法

    • insert into table table_name partition(分区一,分区二) select 插入字段一,插入字段二,age, gender from table_name_other

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值