fdm

-- hive - e "use fdm;use fdm; 

--set hive.ppd.remove.duplicatefilters=false; 

--set mapred.job.priority=NORMAL; set mapred.output.compress=true; 

--set hive.exec.compress.output=true; 

--set mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec ;

 --set io.compression.codecs=com.hadoop.compression.lzo.LzopCodec ; 

--add jar /home/dd_edw/udf/RowNumberUDF.jar; add jar /home/dd_edw/udf/GetMD5UDF.jar; 

--create temporary function row_number as 'com.example.hive.udf.RowNumberUDF'; 

--create temporary function getmd5 as 'org.nalang.hive.udf.GetMD5'; 

 

FROM

(

SELECT

*

FROM

bkactive.bkt_wms2_cals_jd_inventoryd_chain

WHERE

dt = '2015-06-14'

) H

FULL OUTER JOIN (

SELECT

\ `(dt|rank)?+.+\`

FROM

(

SELECT

*, row_number (id, wh_ip) AS rank

FROM

(

SELECT

*, getmd5 (

id,

ccno,

artno,

STATUS,

NAME,

cctype,

areano,

roadwayno,

cellno,

fqty,

fcqty,

fwkno,

fdate,

ftime,

sqty,

scqty,

swkno,

sdate,

stime,

tqty,

tcqty,

twkno,

tdate,

ttime,

newgoods,

remark,

ts,

yn,

wh_ip

) AS change_code

FROM

bdm.bdm_wms2_cals_jd_inventoryd_da

WHERE

dt = '2015-06-15'

AND id IS NOT NULL DISTRIBUTE BY id,

wh_ip SORT BY id,

wh_ip DESC

) x

) t

WHERE

t.rank = 1

) C ON H.id = C.id

AND H.wh_code = C.wh_code I NSERT OVERWRITE TABLE fdm.fdm_wms2_cals_jd_inventoryd_chain PARTITION (

dp = 'EXPIRED',

dt = '2015-06-15',

end_date = '2015-06-15'

) SELECT

H.start_date,

H.change_code,

H.id,

H.ccno,

H.artno,

H. STATUS,

H. NAME,

H.cctype,

H.areano,

H.roadwayno,

H.cellno,

H.fqty,

H.fcqty,

H.fwkno,

H.fdate,

H.ftime,

H.sqty,

H.scqty,

H.swkno,

H.sdate,

H.stime,

H.tqty,

H.tcqty,

H.twkno,

H.tdate,

H.ttime,

H.newgoods,

H.remark,

H.ts,

H.yn,

H.wh_code

WHERE

H.id IS NOT NULL

AND H.change_code <> C.change_code INSERT OVERWRITE TABLE fdm.fdm_wms2_cals_jd_inventoryd_chain PARTITION (

dp = 'ACTIVE',

dt = '4712-12-31',

end_date = '4712-12-31'

) SELECT

 

IF (

H.id IS NULL

OR H.change_code <> C.change_code,

'2015-06-15',

H.start_date

) AS start_date,

 CASE

WHEN H.id IS NULL THEN

C.change_code

WHEN H.change_code <> C.change_code THEN

C.change_code

ELSE

H.change_code

END AS change_code,

 C.id,

 C.ccno,

 C.artno,

 C. STATUS,

 C. NAME,

 C.cctype,

 C.areano,

 C.roadwayno,

 C.cellno,

 C.fqty,

 C.fcqty,

 C.fwkno,

 C.fdate,

 C.ftime,

 C.sqty,

 C.scqty,

 C.swkno,

 C.sdate,

 C.stime,

 C.tqty,

 C.tcqty,

 C.twkno,

 C.tdate,

 C.ttime,

 C.newgoods,

 C.remark,

 C.ts,

 C.yn,

 C.wh_code

WHERE

C.id IS NOT NULL;

";

 

DEBUG hive - e "use fdm;use fdm; 

set hive.ppd.remove.duplicatefilters=false; 

set mapred.job.priority=NORMAL; 

set mapred.output.compress=true; 

set hive.exec.compress.output=true; 

set mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec ; 

set io.compression.codecs=com.hadoop.compression.lzo.LzopCodec ; 

add jar /home/dd_edw/udf/RowNumberUDF.jar; add jar /home/dd_edw/udf/GetMD5UDF.jar;

 create temporary function row_number as 'com.example.hive.udf.RowNumberUDF'; 

create temporary function getmd5 as 'org.nalang.hive.udf.GetMD5'; 

 

FROM

(

SELECT

*

FROM

bkactive.bkt_wms2_cals_jd_inventoryd_chain

WHERE

dt = '2015-06-14'

) H

FULL OUTER JOIN (

SELECT

\ `(dt|rank)?+.+\`

FROM

(

SELECT

*, row_number (id, wh_ip) AS rank

FROM

(

SELECT

*, getmd5 (

id,

ccno,

artno,

STATUS,

NAME,

cctype,

areano,

roadwayno,

cellno,

fqty,

fcqty,

fwkno,

fdate,

ftime,

sqty,

scqty,

swkno,

sdate,

stime,

tqty,

tcqty,

twkno,

tdate,

ttime,

newgoods,

remark,

ts,

yn,

wh_ip

) AS change_code

FROM

bdm.bdm_wms2_cals_jd_inventoryd_da

WHERE

dt = '2015-06-15'

AND id IS NOT NULL DISTRIBUTE BY id,

wh_ip SORT BY id,

wh_ip DESC

) x

) t

WHERE

t.rank = 1

) C ON H.id = C.id

AND H.wh_code = C.wh_code INSERT OVERWRITE TABLE fdm.fdm_wms2_cals_jd_inventoryd_chain PARTITION (

dp = 'EXPIRED',

dt = '2015-06-15',

end_date = '2015-06-15'

) SELECT

H.start_date,

H.change_code,

H.id,

H.ccno,

H.artno,

H. STATUS,

H. NAME,

H.cctype,

H.areano,

H.roadwayno,

H.cellno,

H.fqty,

H.fcqty,

H.fwkno,

H.fdate,

H.ftime,

H.sqty,

H.scqty,

H.swkno,

H.sdate,

H.stime,

H.tqty,

H.tcqty,

H.twkno,

H.tdate,

H.ttime,

H.newgoods,

H.remark,

H.ts,

H.yn,

H.wh_code

WHERE

H.id IS NOT NULL

AND H.change_code <> C.change_code INSERT OVERWRITE TABLE fdm.fdm_wms2_cals_jd_inventoryd_chain PARTITION (

dp = 'ACTIVE',

dt = '4712-12-31',

end_date = '4712-12-31'

) SELECT

 

IF (

H.id IS NULL

OR H.change_code <> C.change_code,

'2015-06-15',

H.start_date

) AS start_date,

 CASE

WHEN H.id IS NULL THEN

C.change_code

WHEN H.change_code <> C.change_code THEN

C.change_code

ELSE

H.change_code

END AS change_code,

 C.id,

 C.ccno,

 C.artno,

 C. STATUS,

 C. NAME,

 C.cctype,

 C.areano,

 C.roadwayno,

 C.cellno,

 C.fqty,

 C.fcqty,

 C.fwkno,

 C.fdate,

 C.ftime,

 C.sqty,

 C.scqty,

 C.swkno,

 C.sdate,

 C.stime,

 C.tqty,

 C.tcqty,

 C.twkno,

 C.tdate,

 C.ttime,

 C.newgoods,

 C.remark,

 C.ts,

 C.yn,

 C.wh_code

WHERE

C.id IS NOT NULL;

 

 ";

你可能感兴趣的:(fdm)