数据思考
对于一张对外提供数据的结果表要满足的条件
准确
时效
稳定
o不稳定的场景
补数的场景:
依赖的表是状态表-非分区
依赖的表是状态表-分区表(每个分区就是一个状态)
依赖的表是流水表
要满足补数的条件
如何理解增量和全量
表的定位:希望存所有数据
实现方式:增量和全量两种,针对的更新策略而言的
o当天更新表的所需要包含的所有对象的所有数据,则为全量
o当天更新的是有变更的所有数据,不会包含所有对象,则为增量
另一种视角:如果表的所有分区能够都查出来一起使用,也就是说全部分区构成了表主体的所有信息,那么就是增量。如果只能用其中的一个分区就可以表示主体的所有信息,那么就是全量
比如:主播的开播行为表 dws_anchor_bhv_di 这个表就是增量表,每天更新的不是所有主播,而是当天有开播的主播的所有数据 如果这个表的定位是有开播主播的行为数据,那么就可以为 dws_anchor_today_live_bhv_df 这个时候就可以认为是全量表,只不过一般不会这么设计
其他case: 提供一个接口判断是否为金牌用户。 (1)表的定位存的是所有金牌用户那么就应该是全量表:app_api_gold_user_info_df。 (2)如果定位是所有用户的金牌信息,那么app_api_user_gold_info_df (3)如果表定位是所有用户存在金牌信息的,那么app_api_user_has_gold_info_di 一般也不这么设计 (4)如果定位是金牌用户的金牌变更信息,那么app_api_gold_user_change_detail_di