-- 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;
";