我有一张table叫 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
基于 answer_id
以及 insert_time
?
具体来说,如果有一行 answer_id and insert_time
存在于 zhihu_answer
,则什么也不做,只需忽略(对于幂等性,防止插入数据超过两次的副作用)。
另一方面,如果没有任何行具有相同的 answer_id and insert_time
作为 zhihu_answer_tmp
在 zhihu_answer
,然后插入行(新刮取的数据)。
谢谢你对这个问题的任何建议或解决办法。
暂无答案!
目前还没有任何答案,快来回答吧!