0% found this document useful (0 votes)
31 views2 pages

03 Inc MX BCT Se Idc DTL TNDR Promo Raw To CTG

The document describes extracting transaction data from the IDC_DETAIL_TENDER_PROMO table in the MSSQL_BCT_WE_MX database from Walmart Mexico on a daily basis. It outlines the source, tables, fields, partitioning, and SQL queries to load the data into a partitioned, clustered and bucketed table in Parquet format on S3.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views2 pages

03 Inc MX BCT Se Idc DTL TNDR Promo Raw To CTG

The document describes extracting transaction data from the IDC_DETAIL_TENDER_PROMO table in the MSSQL_BCT_WE_MX database from Walmart Mexico on a daily basis. It outlines the source, tables, fields, partitioning, and SQL queries to load the data into a partitioned, clustered and bucketed table in Parquet format on S3.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

#Walmart de México

# Autor : Krissel Mejia <Bluetab>


# UserID : vn52l97
# Creación : 14-Diciembre-2023
# ver 1.0 : 14-Diciembre-2023
#------------------------------------------------------------#
# Propósito : Extración delta de 30 días de la tabla de IDC_DETAIL_TENDER_PROMO de
BCT para un intervalo especifico.
# Proyecto: Datamesh
#------------------------------------------------------------#
#Descripción de la tabla: EXTRACTION (Ingesta incremental tabla
IDC_DETAIL_TENDER_PROMO)
#Product Owner: Nayelli Gutiérrez Arista
#Fuente: BCT
#Manejador de BD: MSSQL
#Nombre de BD: MSSQL_BCT_WE_MX
#Nombre tabla origen: IDC_DETAIL_TENDER_PROMO
#Periodo de Carga: Diario
#Tipo Carga: incremental
#Busness Owner: Víctor Olguín <[email protected]>
#Data Steward: Adrián Guerrero <[email protected]>
#Area Negocio: Finanzas
#Vertical: wmt-mx-dl-core
#Lider Desarrollo: Cesar Barrera
#Proyecto: Sales Domain
---
queries: |
SET hive.execution.engine=tez;
SET hive.tez.container.size=8192;
SET hive.tez.java.opts=-Xmx6553m;
SET hive.exec.dynamic.partition=true;
SET hive.exec.dynamic.partition.mode=nonstrict;
SET hive.vectorized.execution.enabled=false;
SET hive.vectorized.execution.reduce.enabled=false;
SET hive.exec.compress.intermediate=false;
SET hive.exec.reducers.bytes.per.reducer=32000000;
SET hive.enforce.bucketing = true;

CREATE TABLE IF NOT EXISTS $target_schema.$target_table


(
TRANS_ID VARCHAR(21) COMMENT 'Transaction Identifier'
,TNDR_TRANS_SEQ_NBR SMALLINT COMMENT 'Tender Transaction Sequence
Number'
,ITEM_SEQ_NBR SMALLINT COMMENT 'Item Sequence Number'
,STORE_NBR INT COMMENT 'Store Number'
,TRANS_TM_TXT VARCHAR(10) COMMENT 'Transaction Time Text'
,ORDER_DISC_NBR SMALLINT COMMENT 'Order Discount Number'
,TNDR_TYPE_ID SMALLINT COMMENT 'Tender Type Identifier'
,DISC_SVC_TYPE_ID TINYINT COMMENT 'Discount Service Type
Identifier'
,DISC_ID INT COMMENT 'Discount Identifier'
,TOT_DISC_PCT DECIMAL(18,2) COMMENT 'Total Discount Percent'
,TOT_PO_AMT DECIMAL(18,2) COMMENT 'Total Purchase Order Amount'
,TOT_PO_WTOT_TAX_AMT DECIMAL(18,2) COMMENT 'Total Purchase Order without
tax Amount'
,TOT_PO_DISC_AMT DECIMAL(18,2) COMMENT 'Total Purchase Order
Discount Amount'
,TRANS_CREATE_TS TIMESTAMP COMMENT 'tRANSACTION Create
Timestamp'
,CRNCY_CD CHAR(3) COMMENT 'Currency Code'
,GEO_REGION_CD CHAR(2) COMMENT 'Geographic Region Code'
,OP_CMPNY_CD VARCHAR(8) COMMENT 'Operational Company Code'
,SRC_RCV_TS TIMESTAMP COMMENT 'Source Received Timestamp'
,LOAD_TS TIMESTAMP COMMENT 'Load Timestamp'
,LOAD_USERID VARCHAR(20) COMMENT 'Load User Identification'
,UPD_TS TIMESTAMP COMMENT 'Updated Timestamp'
,UPD_USERID VARCHAR(20) COMMENT 'Updated User Identification'
) PARTITIONED BY (TRANS_DT DATE,LEGACY_BANNER_CD VARCHAR(10))
CLUSTERED BY (TRANS_ID) SORTED BY (STORE_NBR) INTO 4 BUCKETS
STORED AS PARQUET
LOCATION '$target_bucket/$target_table';

INSERT INTO TABLE $target_schema.$target_table PARTITION (TRANS_DT,


LEGACY_BANNER_CD)
SELECT
TRIM(KN_TRANSACTION_ID) AS TRANS_ID
,DN_TENDER_ORDER AS TNDR_TRANS_SEQ_NBR
,DN_SECUENCE AS ITEM_SEQ_NBR
,KN_STORE AS STORE_NBR
,TRIM(TM_HORA) AS TRANS_TM_TXT
,DN_DISCOUNT_ORDER AS ORDER_DISC_NBR
,KN_TENDER_ID AS TNDR_TYPE_ID
,KN_DISCOUNT_TYPE AS DISC_SVC_TYPE_ID
,KN_DISCOUNT_ID AS DISC_ID
,DN_TOTAL_DISC_PCT AS TOT_DISC_PCT
,DN_TOTAL_AMT AS TOT_PO_AMT
,DN_TOTAL_WO_DISC_AMT AS TOT_PO_WTOT_TAX_AMT
,DN_TOTAL_DISC_AMT AS TOT_PO_DISC_AMT
,DT_TIMESTAMP AS TRANS_CREATE_TS
,UPPER(TRIM('$crncy_cd')) AS CRNCY_CD
,UPPER(TRIM('$geo_region_cd')) AS GEO_REGION_CD
,UPPER(TRIM('$op_cmpny_cd')) AS OP_CMPNY_CD
,CURRENT_TIMESTAMP AS SRC_RCV_TS
,CURRENT_TIMESTAMP AS LOAD_TS
,UPPER(TRIM('$user')) AS LOAD_USERID
,NULL AS UPD_TS
,NULL AS UPD_USERID
,DD_FECHA AS TRANS_DT
,UPPER(TRIM('$division_code')) AS LEGACY_BANNER_CD
FROM raw_$target_schema.$division_code_$process_type_$target_table_raw;

You might also like