Hive 动态分区使用

hive 动态分区与静态分区,静态分区需要制定分区字段的值插入分区数据,动态分区可以根据分区字段的值自动插入对应分区

静态分区:须指定分区字段的值

insert overwrite table test.tmp_edw_customer_event_detail_di partition(dt='20161218')
  select 
         cid                    
        , event_code             
        , event_name             
        , event_channel_type_code
        , event_time             
        , event_user_role_code      
        , event_extra_data       
        , event_source_table_name
        , event_source_table_code
        , event_origin_id        
        , event_latitude         
        , event_longitude        
        , event_trace_request_id 
        , load_job_number        
        , load_job_name          
        , insert_timestamp
        , source_system_code 
     from test.ic_xf_event_from_user_trace_filter_init
    where to_date(event_time) <= '2016-12-18';

 

动态分区:插入字段个数和顺序与目标表一致

-- 设置开启动态分区参数
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.dynamic.max.dynamic.partitions.pernode=1000;
 
insert overwrite table test.tmp_edw_customer_event_detail_di partition(dt)
  select 
          cid                    
        , event_code             
        , event_name             
        , event_channel_type_code
        , event_time             
        , event_user_role_code       
        , event_extra_data       
        , event_source_table_name
        , event_source_table_code
        , event_origin_id        
        , event_latitude         
        , event_longitude        
        , event_trace_request_id 
        , load_job_number        
        , load_job_name          
        , insert_timestamp
        , source_system_code 
        , regexp_replace(to_date(event_time), '-', '') as dt
     from test.ic_xf_event_from_user_trace_filter_init
    where to_date(event_time) > '2016-12-18';

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值