实时数仓和数据挖掘大作战

实时数仓1.0 - 起步的基本功

       传统意义上我们通常将数据处理分为离线数据处理和实时数据处理。对于实时处理场景,我们常见的是两大类,一类是监控核心指标报警、618大屏需求等场景要求boss关心的统计指标做到秒级甚至毫秒级展示;另一类就是更贴近集团内部需求的实时报表,一般分钟级别,30分钟作业基本覆盖95%以上的产品需求。第一类计算基本上比较直接拉取数据,采用 spark streaming\storm\flink + 数据库(mysql / es /druid/kylin /clickhouse /redis / hbase),在实时计算引擎中直接做好聚合计算、输出统计的核心指标,直接落地数据库,供前端数据渲染。大数据可视化,可以采用前端开发,也可以采用echart、或者superset 等开源技术做自研;第二类基本上就是实时计算引擎 spark streaming\storm\flink + 消息中间件系统  kafka 的技术方案了。在kafka里去做数仓的划分,这点跟离线数仓类似,划分ods\dwd\dws\ads四层,当然还有维度层 dim,维度层一般落地到 hbase\redis\mysql中,ods层我们通常喊做贴源层,让它保持和传统数据库一模一样的数据,我们也称为直接复制(克隆)传统数据库里的表数据;dwd层通常是根据业务域划分不同的主题、构建矩阵模型,采用维度建模方法设计指定主题的大宽表,在这步的数据的ETL过程中,是需要做数据的过滤、清洗、和同类数据的聚合操作;dwd层是轻度聚合指标层、主要是为了查询的便利;ads层是在dwd层上做了进一步的数据处理,形成数据应用层,为AI、报表、用户画像、推荐系统等数据上层应用功能提供支撑。目前大部分公司还处于实时数仓1.0的时代。

 

 

实时数仓2.0 - 企业的十大般武艺

       实数数仓的火爆,在外是618、双十一等商业活动的推广,在技术内部则是流批一体的设计思想的变革。目前技术圈公认的流批一体分成三块:SQL层次流批一体、计算引擎流批一体、存储系统流批一体。

       数据湖三剑客,一断做到了存储的流批一体化,数仓就做到了实时数仓2.0。目前企业内部已经有了应用开发。它能解决实时数仓1.0的很多痛点问题。

 

 

实时数仓3.0 - 头部互联网大厂的八仙过海

    spark streaming 和 flink 做到计算引擎上面的流批一体的话,那么就实现了 计算引擎、SQL层面、存储等三大块上面的流批一体设计思想,也就是做到了实时数仓3.0的设想。

 

    基于flink 的流批一体实现的实时数仓3.0技术方案

 

 

        实时数仓3.0也是目前头部互联网大厂的八仙过海、各显神通,flink可以是 spark stremaing,iceberg可以是 delta lake、hudi,只不过,各家大厂采用的组件不同,每个组件有自己的优缺点、没有什么高低之分,只要适合自家的业务适用场景既是最好的武功秘籍。实时数仓还是很能体现工程师水平的,要不为啥大厂年包100万,小厂少的可怜,主要是实时数仓这块有无数的坑,技术和业务上挑战难度很大。

       

 实时数仓3.0在公司的孵化:

        目前我们团队采用的是hudi,实现了 计算引擎、SQL层面、存储3个方面的流批一体的设计思路。随着flink 版本的迭代、现在大数据开发越来越呈现出去java开发的趋势、SQL将来肯定会一统天下,但是呢,可能还需要几年时间的发展,在生产环境上根据各家公司自己的业务特点、如果要做到定制化需求、比如组件的定制化开发、性能调优等等,还是会java点比较好,走向源码层面的思考,是能做出自己公司所特有的产品、培养自己在商业上核心竞争力,而不是天下文章一大抄。

 

 

 

  跨境电商的应用场景

  电商平台的实时数仓最多的应用场景就是采用埋点方案、去做各种类目的推荐系统了,千人千面、聚类、分类。

 

   数据挖掘算法应用场景和算法选择

   1:客户细分/分群   

       通用  聚类算法   K-means 、KNN、高斯混合模型、层次聚类、密度聚类

 

   2: 收入风险预测、产品销售、潜在客户挖掘、高潜客户流失、黄牛刷单

       通用  分类算法、神经网络、决策树、贝叶斯、偏差分析、回归分析

 

    3:客户价值评估、产品市场占有度评估、客户满意度评估、供应链稳定性评估、运费试算、仓库试算

         主成分分析、均值分析、方差、正太分布、高斯分布

    

    

 

  

 

posted @ 2022-06-21 08:40  AIIsFuture  阅读(67)  评论(0编辑  收藏  举报