Column-Level SQL Lineage Demo
WITH mail_task AS ( SELECT t1.receiver AS receiver FROM ( SELECT split(receiver, '[;|]') AS arr_receiver, split(uid, '[;|]') AS arr_uid FROM task_table ) AS t LATERAL VIEW posexplode(arr_receiver) t1 AS pos1, receiver LATERAL VIEW posexplode(arr_uid) t2 AS pos2, uid WHERE pos1 = pos2 ), mail_record AS ( SELECT t.receiver AS receiver, status FROM record_table LATERAL VIEW explode(split(receiver, '[;|]')) t AS receiver ) INSERT OVERWRITE TABLE msg_send SELECT msg_id_table.msg_id, mail_task.receiver, mail_record.status FROM msg_id AS msg_id_table JOIN mail_task ON msg_id_table.req_id > 0 AND mail_task.req_id = msg_id_table.req_id AND mail_task.uid = msg_id_table.uid JOIN mail_record ON mail_record.req_id = mail_task.req_id AND mail_record.receiver = mail_task.receiver;
tpcds
example
Submit