Hi friends,

I am new to PIG script. I need to convert below sql query to PIG script.


SELECT ('CSS'||DB.DISTRICT_CODE||DB.BILLING_ACCOUNT_NO) BAC_KEY,

CASE WHEN T1.TAC_142 IS NULL THEN 'N' ELSE T1.TAC_142 END TAC_142 FROM

(



SELECT DISTRICT_CODE,BILLING_ACCOUNT_NO,

MAX(CASE WHEN TAC_1 = 'Y' AND (TAC_2 = 'Y' OR TAC_3 = 'Y') THEN 'Y' ELSE
'N' END) TAC_142 FROM

(

SELECT DI.DISTRICT_CODE,DI.BILLING_ACCOUNT_NO,DI.INST_SEQUENCE_NO,

MAX(CASE WHEN TRIM(DIP.PRODUCT_CODE) = 'A14493' AND UPPER(DI.HAZARD) LIKE
'%999%EMERGENCY%LINE%' AND UPPER(DI.WARNING) LIKE '%USE%999%ALERT%METHOD%'
THEN 'Y' ELSE 'N' END) TAC_1,

MAX(CASE WHEN TRIM(DIP.PRODUCT_TYPE) IN ('20','21') AND
TRIM(DIP.MAINTENANCE_CONTRACT) IN ('E','T') THEN 'Y' ELSE 'N' END) TAC_2,

MAX(CASE WHEN TRIM(DIP.PRODUCT_CODE) IN ('A14498','A14428','A22640') THEN
'Y' ELSE 'N' END) TAC_3

FROM

D_INSTALLATION DI,

D_INSTALLATION_PRODUCT DIP

WHERE

DIP.INST_SEQUENCE_NO = DI.INST_SEQUENCE_NO AND

DIP.BAC_WID = DI.BAC_WID

GROUP BY DI.DISTRICT_CODE,DI.BILLING_ACCOUNT_NO,DI.INST_SEQUENCE_NO

)

GROUP BY DISTRICT_CODE,BILLING_ACCOUNT_NO)

T1,

D_BILLING_ACCOUNT DB

WHERE

DB.DISTRICT_CODE = T1.DISTRICT_CODE(+) AND

DB.BILLING_ACCOUNT_NO = T1.BILLING_ACCOUNT_NO(+)


--------------------------------------------------------------------------


I have tried to write a below inner query into PIG.


SELECT DI.DISTRICT_CODE,DI.BILLING_ACCOUNT_NO,DI.INST_SEQUENCE_NO,

MAX(CASE WHEN TRIM(DIP.PRODUCT_CODE) = 'A14493' AND UPPER(DI.HAZARD) LIKE
'%999%EMERGENCY%LINE%' AND UPPER(DI.WARNING) LIKE '%USE%999%ALERT%METHOD%'
THEN 'Y' ELSE 'N' END) TAC_1,

MAX(CASE WHEN TRIM(DIP.PRODUCT_TYPE) IN ('20','21') AND
TRIM(DIP.MAINTENANCE_CONTRACT) IN ('E','T') THEN 'Y' ELSE 'N' END) TAC_2,

MAX(CASE WHEN TRIM(DIP.PRODUCT_CODE) IN ('A14498','A14428','A22640') THEN
'Y' ELSE 'N' END) TAC_3

FROM

D_INSTALLATION DI,

D_INSTALLATION_PRODUCT DIP

WHERE

DIP.INST_SEQUENCE_NO = DI.INST_SEQUENCE_NO AND

DIP.BAC_WID = DI.BAC_WID

GROUP BY DI.DISTRICT_CODE,DI.BILLING_ACCOUNT_NO,DI.INST_SEQUENCE_NO


PIG Script


 A = load 'D_INSTALLATION.txt';
  B= load 'D_INSTALLATION_PRODUCT.txt';
  C= join A by DI.INST_SEQUENCE_NO, B by INST_SEQUENCE_NO;
  D= join C by BAC_WID,B by BAC_WID;

  caseData = foreach D generate ((PRODUCT_CODE=='A14493' and
UPPER(HAZARD)=='999%EMERGENCY%LINE' and
UPPER(WARNING)=='USE%999%ALERT%METHOD') ? 'Y':'N') AS TAC_1,

          ((PRODUCT_TYPE IN ('20','21') and MAINTENANCE_CONTRACT IN
('E','T')) ? 'Y':'N') As TAC_2,

          (PRODUCT_CODE IN('A14498','A22640','A22640') ? 'Y':'N') As TAC_3;
 grouped = group caseData by
DISTRICT_CODE,BILLING_ACCOUNT_NO,INST_SEQUENCE_NO;
 Data = foreach grouped generate group as
DISTRICT_CODE,BILLING_ACCOUNT_NO,INST_SEQUENCE_NO,MAX(TAC_1) as
TAC1,MAX(TAC_2) as TAC2,MAX(TAC_3) as TAC3


 It is giving lot of errors. Can you please help me.. attached are the
tables
D_BILLING_ACCOUNT
Name                          Null     Type          
----------------------------- -------- ------------- 
BAC_WID            NOT NULL NUMBER 
DISTRICT_CODE          VARCHAR2(6) 
BILLING_ACCOUNT_NO          NUMBER(8) 
CSS_CUSTOMER_ID          NUMBER(8) 
CONSENT38_38A          VARCHAR2(3) 
CONSENT38              VARCHAR2(6) 
CONSENT38A            VARCHAR2(6) 
CUSTOMER_CLASS          VARCHAR2(3) 
CSS_INTERNET_IND          VARCHAR2(3) 
BILL_GROUP_CODE          VARCHAR2(30) 
CUSTOMER_GROUPING          VARCHAR2(9) 
ORDERING_POLICY          VARCHAR2(3) 
SALES_AC_OWNER          VARCHAR2(3) 
BILLING_CONTACT          VARCHAR2(6) 
LATEST_CAMPAIGN          VARCHAR2(3) 
VIP                                 VARCHAR2(3) 
CSA_ID                        VARCHAR2(9) 
CSS_FOLLOW_UP_RATING          VARCHAR2(3) 
DUTY_REFERENCE_ID          VARCHAR2(36) 
BUDGET_ACCOUNT_IND          VARCHAR2(3) 
BILL_TYPE                  VARCHAR2(3) 
BILL_SERIAL_NO          VARCHAR2(9) 
BILL_MEDIA                VARCHAR2(3) 
FLEXIBLE_BILL_SUMMARY          VARCHAR2(3) 
CALL_ITEMISATION_OPTION          VARCHAR2(3) 
CALL_ITEMISATION_PRI_SORT_KEY          VARCHAR2(3) 
CALL_ITEMISATION_SEC_SORT_KEY          VARCHAR2(3) 
CALL_VALUE              VARCHAR2(30) 
CHRONICALLY_SICK_OR_DISABLED          VARCHAR2(3) 
BUDGET_AC_PAYMENT_DATE          DATE   
METHOD_OF_PAYMENT          VARCHAR2(3) 
PAYMENT_CHANNEL          VARCHAR2(6) 
BILL_DATE                  DATE   
RECEIPT_METHOD          VARCHAR2(6) 
OCB_IND                     VARCHAR2(3) 
DISC_IND                    VARCHAR2(3) 
BUDGET_ACCOUNT_PAYMENT_DAY          NUMBER(2) 
UNDER_REASSESSMENT_IND          NUMBER(1) 
BUDGET_ACCOUNT_PAYMENT_AMOUNT          NUMBER(12,2) 
BUDGET_ACCOUNT_START_DATE          DATE   
CSS_DEBT_MANAGEMENT_IND          VARCHAR2(3) 
RENTAL_ITEMISATION_IND          VARCHAR2(3) 
SUPPRESS_FUTURE_BILLS          VARCHAR2(3) 
DIVERT_ALL_INVOICES          VARCHAR2(3) 
DIVERT_NEXT_INVOICE          VARCHAR2(3) 
VAT_INVOICE_IND          VARCHAR2(3) 
UNDER_ENQUIRY_IND          VARCHAR2(3) 
CAMPAIGN_EXCLUSIONS_IND          VARCHAR2(3) 
COPIES_ACCOUNT_IND          NUMBER(1) 
BILL_LAYOUT_ACCOUNT_IND          VARCHAR2(24) 
CURRENT_BILL_FREQUENCY          VARCHAR2(3) 
LOW_USAGE_SCHEME          VARCHAR2(3) 
MAI_LOW_USAGE_SCHEME          VARCHAR2(3) 
DD_PROVISION_DATE          DATE   
BANK_ACCOUNT_NAME          VARCHAR2(54) 
BANK_SORT_CODE          NUMBER(6) 
BANK_ACCOUNT_NO          NUMBER(8) 
CSS_UPPER_CALL_LEVEL          NUMBER(9) 
CONTACT_LIMIT          NUMBER(9) 
BILLING_ADDR_NAD_ALK          VARCHAR2(36) 
TS_LAST_UPDATED          DATE   
BILLING_TITLE          VARCHAR2(84) 
BILLING_FORENAME          VARCHAR2(84) 
BILLING_INITIALS          VARCHAR2(84) 
BILLING_SURNAME          VARCHAR2(168) 
BILLING_HONOURS          VARCHAR2(168) 
BILLING_LOCATION_DESCRIPTION          VARCHAR2(84) 
BILLING_ADDRESS_TYPE          VARCHAR2(3) 
BILLING_SUB_PREMISES          VARCHAR2(84) 
BILLING_PREMISES_NAME          VARCHAR2(135) 
BILLING_THOROUGHFARE_NUMB          VARCHAR2(18) 
BILLING_THOROUGHFARE_NAME          VARCHAR2(171) 
BILLING_SUB_LOCALITY          VARCHAR2(105) 
BILLING_POST_TOWN          VARCHAR2(105) 
BILLING_COUNTY          VARCHAR2(105) 
BILLING_POST_CODE          VARCHAR2(24) 
CUSTOMER_TS_LAST_UPD          DATE   
BAC_PROFILE_TS_LAST_UPD          DATE   
DATA_OWNER           VARCHAR2(3) 
RENTAL_END_DATE          NUMBER(8) 
PREFERRED_PAYT_DATE          NUMBER(2) 
ONE_BILL_IND          NUMBER(1) 
MONTROSE_IND          VARCHAR2(3) 
TEMP_UNBILLABLE_AC          VARCHAR2(3) 
VAT_EXMPT_CAT          VARCHAR2(3) 
INSTMENT_IND          VARCHAR2(3) 
DD_STATUS               VARCHAR2(3) 
FINAL_BILL_PENDING          VARCHAR2(3) 
FINAL_BILL_PRODUCED          VARCHAR2(3) 
NONCSS_BILL_IND          VARCHAR2(3) 
BILL_SUPPR_IND          NUMBER(1) 
RENTAL_START_DATE          NUMBER(8) 
E_BILL_INDICATOR          VARCHAR2(3) 
GEN_ACCOUNT_TYPE          VARCHAR2(3) 
NOVATION_IND          VARCHAR2(3) 
SUPP_ITEMIZATION_OPTCE          VARCHAR2(3) 
MM_SUSP_IND          VARCHAR2(3) 
SEL_ITEM_IND          VARCHAR2(3) 
BILL_SEQ_NO_001          NUMBER(3) 
BILL_PD_ST_DT_001          DATE   
BILL_PD_END_DT_001          DATE   
PAYMNT_DUE_DT_001          DATE   
INV_AMNT_001          NUMBER(12,3) 
VAT_001                      NUMBER(12,3) 
BILL_SEQ_NO_002          NUMBER(3) 
BILL_PD_ST_DT_002          DATE   
BILL_PD_END_DT_002          DATE   
PAYMNT_DUE_DT_002          DATE   
INV_AMNT_002          NUMBER(12,3) 
VAT_002                      NUMBER(12,3) 
MPP_REAS_DT          DATE   
GPC_END_IND          NUMBER(1) 
BILLED_CR_COUNT_001          NUMBER(5) 
SPL_OFFER_CODE_001          VARCHAR2(21) 
BILLED_CR_COUNT_002          NUMBER(5) 
SPL_OFFER_CODE_002          VARCHAR2(21) 
ONEBILL_ACCOUNT_NO          VARCHAR2(36) 
BILL_ACCNT_KEY          VARCHAR2(90) 
BILL_ACCNT_NAME          VARCHAR2(300) 
CSS_BILL_NAME          VARCHAR2(300) 
BILL_ACCNT_TYPE          VARCHAR2(150) 
COS_OM_CODE          VARCHAR2(90) 
SIM_FOLLOW_UP_RATING          VARCHAR2(3) 
PRICE_LIST                VARCHAR2(150) 
OCB_STATUS            VARCHAR2(3) 
TOS_STATUS             VARCHAR2(3) 
TOS_DATE                  DATE   
PARENT_TYPE          VARCHAR2(90) 
ICB_STATUS              VARCHAR2(3) 
EXTERNAL_SYSTEM_INSTANCE          VARCHAR2(30) 
BILL_ACCNT_NUM          VARCHAR2(90) 
ASSET_SUMMARY          NUMBER(9) 
BILLING_OPTIONS_SUMMARY          NUMBER(9) 
SIM_DEBT_MANAGEMENT_IND          VARCHAR2(3) 
BILL_LAYOUT             VARCHAR2(24) 
SIM_UPPER_CALL_LEVEL          NUMBER(22) 
CONTACT_CALL_LEVEL          NUMBER(22) 
UNDER_ENQUIRY_FLG          VARCHAR2(3) 
CAMP_EXCLUSIONS          VARCHAR2(90) 
CSS_LUS_ACCNT_IND          VARCHAR2(3) 
LOCATION_DESCRIPTION          VARCHAR2(300) 
WLR2_FLG                 VARCHAR2(3) 
TS_CREATED            DATE   
TS_LAST_UPD           DATE   
DELETED_FLG          VARCHAR2(3) 
DEBT_START_DATE          DATE   
DEBT_STATUS_FLG          VARCHAR2(3) 
VAT_EXEMPT_IND          VARCHAR2(3) 
BILL_ACCNT_SOURCE          VARCHAR2(300) 
BILLING_SCORE          VARCHAR2(60) 
BILLING_STATUS          VARCHAR2(90) 
WLR3_ASSET_FLAG          VARCHAR2(3) 
AVG_BILL_PAY_AMNT          NUMBER(10) 
RISK_FACTOR           NUMBER(3,2) 
ACCOUNT_START_DATE          DATE   
PARENT_BILL_ACCNT_KEY          VARCHAR2(90) 
SOURCE_SYSTEM          CHAR(3) 
ETL_CREATED_DT          DATE   
ETL_LAST_UPD_DT          DATE 
D_INSTALLATION

Name                      Null     Type          
------------------------- -------- ------------- 
INST_WID                NUMBER 
BAC_WID                 NUMBER 
DISTRICT_CODE NOT NULL VARCHAR2(6) 
BILLING_ACCOUNT_NO NOT NULL NUMBER(8) 
INST_SEQUENCE_NO NOT NULL VARCHAR2(12) 
SITE_NUMBER          VARCHAR2(24) 
MAIN_TEL_NO          VARCHAR2(33) 
TELEPHONE_FORMAT_CODE          VARCHAR2(3) 
MAIN_TEL_NO_STATUS          VARCHAR2(3) 
INST_DIRECTORY_CATEGORY          VARCHAR2(3) 
LINE_DIRECTORY_CATEGORY          VARCHAR2(3) 
INST_START_DATE          DATE   
MAIN_LINE_START_DATE          DATE   
INST_STATUS          VARCHAR2(3) 
INST_CLASSIFICATION          VARCHAR2(6) 
CUSTOMER_TYPE          VARCHAR2(6) 
RENTAL_TARIFF_GROUP          VARCHAR2(6) 
STERLING_TARIFF_GROUP          VARCHAR2(6) 
CURRENT_STATUS          VARCHAR2(18) 
TOS_DATE              DATE   
HAZARD                   VARCHAR2(60) 
WARNING                VARCHAR2(60) 
PRIORITY                VARCHAR2(3) 
EXCHANGE_CODE          VARCHAR2(18) 
INST_EXCHANGE_GROUP_CODE          VARCHAR2(15) 
SERVING_DP          VARCHAR2(18) 
A1141_CODE          VARCHAR2(27) 
LINE_STATUS          VARCHAR2(3) 
LINE_CLASS          VARCHAR2(9) 
LINE_CLASS_DESCRIPTION          VARCHAR2(15) 
LINE_ACCESS          VARCHAR2(9) 
INST_ADDR_NAD_ALK          VARCHAR2(36) 
TS_LAST_UPDATED          DATE   
INST_TITLE             VARCHAR2(84) 
INST_FORENAME          VARCHAR2(84) 
INST_INITIALS          VARCHAR2(84) 
INST_SURNAME          VARCHAR2(168) 
INST_HONOURS          VARCHAR2(168) 
INST_LOCATION_DESCRIPTION          VARCHAR2(84) 
INST_ADDRESS_TYPE          VARCHAR2(3) 
INST_SUB_PREMISES          VARCHAR2(84) 
INST_PREMISES_NAME          VARCHAR2(135) 
INST_THOROUGHFARE_NUMB          VARCHAR2(18) 
INST_THOROUGHFARE_NAME          VARCHAR2(171) 
INST_SUB_LOCALITY          VARCHAR2(105) 
INST_POST_TOWN          VARCHAR2(105) 
INST_COUNTY          VARCHAR2(105) 
INST_POST_CODE          VARCHAR2(24) 
CESSATION_REASON          VARCHAR2(3) 
NUMBER_PORTED_FLAG          VARCHAR2(3) 
TBG_ID                    VARCHAR2(24) 
DATA_OWNER          VARCHAR2(3) 
RETAILER_ID          VARCHAR2(9) 
WLR3_FLAG           VARCHAR2(3) 
SOURCE_SYSTEM          CHAR(3) 
ETL_CREATED_DT          DATE   
ETL_LAST_UPD_DT          DATE   
INST_ADDRESS_KEY          VARCHAR2(90) 
D_INSTALLATION_PRODUCT

Name                       Null     Type         
-------------------------- -------- ------------ 
INST_PROD_WID NOT NULL NUMBER 
BAC_WID                  NUMBER 
DISTRICT_CODE          VARCHAR2(6) 
BILLING_ACCOUNT_NO          NUMBER(8) 
INST_SEQUENCE_NO          VARCHAR2(12) 
PRODUCT_CODE          VARCHAR2(18) 
CONTRACT_TYPE          VARCHAR2(6) 
MAINTENANCE_CONTRACT          VARCHAR2(3) 
EXCHANGE_LINE_INDICATOR          VARCHAR2(3) 
PRODUCT_TYPE          VARCHAR2(9) 
QUANTITY                NUMBER(7) 
FIRST_CPH_DATE          DATE  
LAST_CPH_DATE          DATE  
FIRST_CPH_TERM_EXPIRY_DATE          DATE  
LAST_CPH_TERM_EXPIRY_DATE          DATE  
LAST_CPH_ORDER_NO          VARCHAR2(18) 
TS_LAST_UPDATED          DATE  
DATA_OWNER          VARCHAR2(3) 
SOURCE_SYSTEM          CHAR(3) 
ETL_CREATED_DT          DATE  
ETL_LAST_UPD_DT          DATE  

Reply via email to