我有一个名为zhihu_answer
的表。我将其作为存储每天抓取的数据的仓库。每天都会创建一个zhihu_answer_tmp
表,用于存储新抓取的数据,这些数据与zhihu_answer
共享相同的数据结构。
DDL是:
createtab_stmt
CREATE TABLE `zhihu_answer`(
`admin_closed_comment` boolean,
`answer_content` string,
`answer_created` string,
`answer_id` string,
`insert_time` string,
`voteup_count` int)
PARTITIONED BY (`year_month` string)
我以answer_id
和insert_time
作为唯一键,我的问题是如何基于{{将zhihu_answer_tmp
中的新数据合并到历史数据表zhihu_answer
中1}}和answer_id
?
具体来说,如果insert_time
中存在一行具有相同answer_id and insert_time
的行,则什么也不做,只需忽略即可(对于幂等性,防止副作用多次插入数据)。 / p>
另一方面,如果在zhihu_answer
中没有与answer_id and insert_time
相同的zhihu_answer_tmp
行,则插入这些行(新抓取的数据)。
感谢您提供任何建议或解决方案。