验证在dB2.table2中将dB1.table1数据元素正确地从UTC转换为EST

问题描述

必须验证db1.table.a_timestamp中的UTC时间是否已正确地以dB2.table2.a_est_ts转换为EST时间。

SELECT dsr_ticket_number,from_utc_timestamp(ackNowledgement_timestamp,'EST') from data_prcy_pds_sanitized.dsr_sor_delete_request  
where dsr_ticket_number,'EST')
in (select dsr_ticket_num,ackNowledgement_est_ts from data_prcy_dsr_conformed.data_subj_rqst_delete)

给我一​​条错误消息:org.apache.spark.sql.catalyst.parser.ParseException: mismatched input ',' expecting <EOF>(line 2,pos 23)

解决方法

使用连接代替IN:

select a.dsr_ticket_number,from_utc_timestamp(acknowledgement_timestamp,'EST') 
  from data_prcy_pds_sanitized.dsr_sor_delete_request a
       left join (select distinct dsr_ticket_num,acknowledgement_est_ts 
                    from data_prcy_dsr_conformed.data_subj_rqst_delete) b
       on a.dsr_ticket_number = b.dsr_ticket_num 
          and from_utc_timestamp(a.acknowledgement_timestamp,'EST') = b.acknowledgement_est_ts 
 where b.dsr_ticket_num is not null
 --or to find records which are not in second table
 --use WHERE b.dsr_ticket_num is null