我有一张包含大约 1 亿条记录的表,每天我们会收到大约 10 万条记录和更新。目前我们正在ROW_NUMBER
时间戳上应用 a 并通过 do 获取最新记录UNION ALL
。
使用这种方法,我们面临着严重的性能问题。
你能从性能的角度提出更好的方法吗?
INSERT OVERWRITE TABLE tgt_tbl
SELECT * FROM
(
SELECT row_number() over (partition by acct_num order by time_stamp)
FROM
(SELECT acct_num , time_stamp FROM tgt_tbl
UNION ALL
SELECT acct_num , time_stamp FROM Incremental table
)t1
) t2
WHERE rnum = 1