• 博客访问: 3629
  • 博文数量: 5
  • 用 户 组: 普通用户
  • 注册时间: 2018-05-07 13:54
文章分类

全部博文(5)

文章存档

2018年(5)

我的朋友
最近访客

分类: SQL on Hadoop

2018-05-07 14:23:59

--#####################################################################
--程序说明 
--filename: test.sql
--purpose:  程序模板
--author:   blt

--parameters:
--${v_proc_name}:   程序名
--${v_month}:       统计月份 (yyyymm)     
--${v_fm_dt}:       统计日期 (yyyymmdd)
--description       式例程序

--history
--date         author           version          modifications
--2017-11-15   blt              v01.00.000       程序模板
--#####################################################################

--#####################################################################
--设置参数
set hive.fetch.task.conversion=more;
set hive.cli.print.header=true;
set hive.exec.reducers.max=300;
set hive.exec.compress.output=false;
set hive.exec.compress.intermediate=true;
set mapred.max.split.size=1000000000;
set mapred.min.split.size.per.node=1000000000;
set mapred.min.split.size.per.rack=1000000000;
set hive.auto.convert.join=true;
set hive.groupby.skewindata=true;
set mapred.job.name=003_itp_bsl_cn06_gath;
set mapred.queue.name=vcs;
set mapred.job.queue.name=vcs;
set hive.exec.dynamic.partition.mode=nonstrict;

--#####################################################################
use test;

--step1.步骤1
drop table if exists itp_bsl_tab_tmp01;
create table itp_bsl_tab_tmp01 as
select a.asu_dept_code      op_dept_code,
       a.abc_dept_type_code op_dept_type,
       a.level5_code        op_area_code
  from ods_test.abc_dim_dept_ng a
 where to_date(a.fm_tm) <= '${v_fm_dt}'
   and to_date(a.to_tm) >= '${v_fm_dt}';

--step02.步骤2
drop table if exists itp_bsl_tab_tmp02;
create table itp_bsl_tab_tmp02 as
select '${v_month}' month_code,
       a.waybill_no,
       nvl(a.abc_dept_code, 'N') op_dept_code,
       nvl(b.op_dept_type, 'N') op_dept_type,
       nvl(b.op_area_code, 'N') op_area_code,
       a.bar_scan_tm
  from ods_test.itp_bsl_op a
  left join itp_bsl_tab_tmp01 b
    on a.abc_dept_code = b.op_dept_code
 where a.hq_month_code = '${v_month}'
   and a.op_code in ('30', '830', '31', '831');

--step03.步骤3
insert overwrite table itp_bsl_tab partition
  (hq_month_code = '${v_month}')
  select a.month_code,
         a.op_dept_code,
         a.op_area_code,
         from_unixtime(unix_timestamp(), 'yyyy-MM-dd HH:mm:ss') load_tm
    from itp_bsl_tab_tmp02 a;

--#####################################################################
阅读(715) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册