超多分析结果表 简单字段关联 生成大宽表 的 初步猜想

Posted qq1144054302

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超多分析结果表 简单字段关联 生成大宽表 的 初步猜想相关的知识,希望对你有一定的参考价值。

业务背景:

1. 广告投放涉及到用户的诸多特征

2. 用户特征通常不在同一个表中

3. 通过各种算法逻辑会产生很多的中间表

4. 各中间表的唯一标志基本为单一字段,通常会员标志或设备标志(两者一般取较新的一对组合使用)

5. 进入算法(或机器学习)前,需要一个统一的大宽表作为入参方便取值

 

业务解析:

1. 若干(通常10+)结果表

2. 每张表的数据量都很大(千万-亿)

3. 每个表都有同样的唯一标志字段(具体内容不同)

 

结果表产生过程隐藏条件:

1. 存在一张主表,包含有所有可能的唯一标志

 

处理流程:

1. 对所有表的唯一标志数字化

2. 对数字化后的各表进行排序

3. 遍历主表

3.1. 取出主表一条记录,与其他各表取出的一条比较

3.2  如果主表唯一标志和各表相等,将各表数据并入主表,然后取出下一条记录

3.3  如果唯一标志不想等,使用默认值并入主表,维持当前记录

3.4  将合并的记录记下,进入下次循环

4. 完成主表遍历后,写入磁盘

 

猜想:

1. 使用插入排序后,经历两次主表遍历读写便可完成大宽表的合成

2. 和使用left join相比,避开指数级增长的子表遍历

3. 和使用union all相比,避开了最终的分组求和过程

 

4. 在子表数据量级不大且数量不多时,使用left join书写较为方便

5. 在主表基数不是很大时,union all不会在分组求和花费过多时间

以上是关于超多分析结果表 简单字段关联 生成大宽表 的 初步猜想的主要内容,如果未能解决你的问题,请参考以下文章

100个字段的hive大宽表kylin如何处理?

视频特辑数据分析师必备,快速制作一张强大好用的大宽表

Flink + Hudi 实现多流拼接(大宽表)

Elasticseach:从微服务架构演变到大宽表思维的架构转变

Elasticseach:从微服务架构演变到大宽表思维的架构转变

MyBatisPlus多数据源加ES大宽表架构落地实践