采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
按照代码里面的逻辑,每次存进dw.dws_user_action_tags_map_all执行的是全量覆盖,怎么样实现标签流水表和标签主题表的增量存储呢?如果是多个job协同的话,应该怎样调度呢?
同学你好,执行存储到hive的函数是在 Utils/HiveUtils 里面 hiveSave() , 这个方法。只要将 SaveMode.OverWrite,改为 SaveMode.Append 就可以进行增量存储了。
那如果是Append的话,这个表不是存在大量的重复数据吗?工作中不会影响这个表的性能吗?如果才能拉链表的设计可以吗?
这很正常,行为表每天都有大量的数据进来,同一个用户会有大量的行为,用户标签表同样也是同一个用户每天计算出得标签可以相同,可以不同,但查询的时候,肯定不会从这两张表直接查询的,还要通过离线的聚合计算,这些计算会很费时,通常在深夜计算前一天的数据,然后写入到业务主题表里以及缓存里,前端查询的时候就是直接读取这些业务主题表的,不会去读取流水表的,所以性能不会有什么问题
那老师这个表后期如何维护呢? 随着数据量增加会应该会出现同一个人同一个标签存在多条记录,以及冗余数据怎么删除呢?
登录后可查看更多问答,登录/注册
大数据主流技术,数据挖掘核心算法,用户画像完整知识轻松掌握
943 12
403 10
993 8
854 7
268 6
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号