I have to write or convert below SQL query into spark/scala. Anybody
can suggest how to implement this in Spark?
SELECT a.PERSON_ID as RETAINED_PERSON_ID,
a.PERSON_ID,
a.PERSONTYPE,
'y' as HOLDOUT,
d.LOCATION,
b.HHID,
a.AGE_OUTPUT as AGE,
a.FIRST_NAME,
d.STARTDATE,
d.ENDDATE,
'Not In Campaign' as HH_TYPE
FROM PERSON_MASTER_VIEW a
INNER JOIN PERSON_ADDRESS_HH_KEYS b
on a.PERSON_ID = b.PERSON_ID
LEFT JOIN #Holdouts c
on a.PERSON_ID = c.RETAINED_PERSON_ID
INNER JOIN #Holdouts d
on b.HHID = d.HHID
WHERE c.RETAINED_PERSON_ID IS NULL and
a.PERSONTYPE IS NOT NULL
GROUP BY a.PERSON_ID, a.PERSONTYPE,
b.HHID, a.AGE_OUTPUT, a.FIRST_NAME, d.LOCATION, d.STARTDATE, d.ENDDATE