历史写入的问题

历史写入的问题

用流任务将数据写入到paimo表的最新分区中

用批处理任务定时覆盖写入到历史分区中


我有个问题,这个为什么要写到历史分区中啊。历史分区可以理解为历史快照吗?历史快照写了就看不到变更的记录啊,回滚的时候也无法回滚到变更前的数据了。还是理解为前一天的全量历史表?


然后讲查询案例的时候 paimon 一般会存储2份数据吗?一份历史一份实时?这个之前的课里面没有讲过啊。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
徐老师 2024-03-21 09:06:30

1:这里的最新分区和历史分区对应的是Paimon中的分区表(类似于hive中的分区表),假设这个表的分区字段是dt,今天是20240102,那么最新分区就是dt=20240102,历史分区对应的就是20240102之前的某一个分区中的数据。

批处理任务定时覆盖写入到历史分区中是为了保证数据的准确性,因为流处理还是可能会存在数据异常问题的。


课程中有这一句话。

这里的批处理任务相当于实现了基于离线数据定时修正(回填)实时数据的功能,这样其实就解决了离线和实时数据一致性的问题。


当然,批处理任务定时覆盖写入这个流程也不是必须的,如果可以保证流处理任务整个链路100%没有问题,那就不需要批处理任务定时覆盖写入这个处理流程了。


历史分区和历史快照不是一个概念。

此时历史快照还是在的,除非历史快照触发过期策略被删除。


2:后续讲的查询案例,历史和实时说的是分区,不是说存储2份。

例如:dt=20240102对应的是今天,那么这个分区就是最新分区;

dt=20240101对应的是昨天,那么这个分区就是历史分区。


课程中是这样讲的。

针对企业中的查询需求,实时报表直接查询Paimon表最新分区中的数据即可,此时就算数据有一些偏差也不影响大局。
第二天查询前一天报表的时候,查询的就是Paimon表历史分区中的数据了【解释:因为前一天的数据我们已经通过批处理任务重新覆盖写入了】,此时这份历史数据已经被修正过了。


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师