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