DT时代阿里云流计算让业务实时、让数据发电

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
日志服务 SLS,月写入数据量 50GB 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 如果说数据处理技术时代中数据是新能源,流计算就是让新能源发电的关键技术。基于阿里云流计算天猫双十一大屏可以实时展现上亿条数据订单。如何搭建具备亿级QPS处理能力的流式大数据处理系统,本文就阿里云流计算在大数据实时处理中带来的价值、流计算的显著优势以及应用场景和案例等方面的内容做了深入的分析。
摘要: 如果说数据处理技术时代中数据是新能源,流计算就是让新能源发电的关键技术。基于阿里云流计算天猫双十一大屏可以实时展现上亿条数据订单。如何搭建具备亿级QPS处理能力的流式大数据处理系统,本文就阿里云流计算在大数据实时处理中带来的价值、流计算的显著优势以及应用场景和案例等方面的内容做了深入的分析。

本场视频精彩回顾,戳这里!

本场视频PPT下载,戳这里!

演讲嘉宾简介:

付空,阿里云高级产品专家

以下内容根据演讲嘉宾视频分享以及PPT整理而成。

本次的分享主要围绕以下三个方面:

一、为什么要用流计算
二、为什么要用阿里云流计算
三、如何用流计算

一、 为什么要用流计算
  b99ed40f9f84b75b3db6d837af4de0b6cfd18965
随着DT(数据处理技术)时代的到来,数据作为生产资料包含用户的需求,通过分析数据、挖掘用户需求同时满足用户需求,可以产生一定商业价值,因此商业和数据之间可以产生闭环。
  68c3a14c66350f2c6cdb92797d1756d11ba614b6
流计算秉持数据价值会随时间延迟而迅速跌落的基本观念,例如实时推荐、异常或欺诈检测和实时的报表。实时推荐中,要求在用户进行点击时,系统感知用户目前感兴趣的东西,从内容库中查找对应用户感兴趣的内容并推送给用户,从而使用户可以实时发现自己感兴趣的东西,延长用户活跃时间。相反当用户访问离线的推荐系统时,即使拥有较高准确率的算法,用户的兴趣也可能会随着时间的推移而发生改变。在实时异常和欺诈检测中,以电商系统为例,系统需要实时地监控用户的行为判断该用户是否为羊毛党,如果该系统为批处理系统,当发现问题时系统交易可能已经完成,追回损失成为困难。
  c7a1cbec788bd8bed39618ffc98074560f43f258
基于以上两个方面,数据的闭环工作应该进行得越快越好,越快找到用户的需求并满足用户的需求,就能获取更好的商业竞争力。因此大数据的实时化成为一种需求,实时化需求的解决方案就是流式处理系统。
  2d85d1c99d53c3cf9e0773280cf78d038e6ee41c
批处理系统中,用户将作业提交给系统,系统读取数据、计算、返回结果后作业停止。批处理系统具有比较大的延迟,表现为两个方面:

1) 每次计算都要计算所有的数据,产生较长的计算耗时。

2) 由提交作业驱动,提交作业和事件发生之间具有延迟。

流式处理系统中,用户提交作业后,作业会在内存中常驻,只要有数据过来就会触发计算,产生实时的结果流。流式处理系统做到实时性表现为两个方面:

1) 每次计算只计算一个增量,计算耗时短。

2) 由事件触发,事件到达即刻进行计算。

  01e0c6e2a264670f901a57febce4e198eddca278
在批处理中,数据相当于一个湖,无论湖有多大都是静态的,离线(批量)计算相当于开船去湖中捕鱼,将计算贴近数据从而获取想要的结果。在流计算中,数据相当于一条河,河流不停地在流动,流计算相当于在河边修水坝,数据流过时获取想要的结果相当于电。基于以上例子,批量计算和流计算的区别在于:

1) 批量计算中数据是静态的,流计算中数据是动态的,表现为湖与河的区别。

2) 批量计算是将船开到湖中,自己寻找数据,流计算是在河边建坝,等待数据传入。

  3a7951f31f4c15d205a2506b9d543d9cbe9f21d2
批处理是处理有限的数据,流处理是处理无限的数据。将有限作为无限的特例,具体来说,在流式处理中将窗口设置成批处理一样的大小,从而获取和批处理一样的结果。然而在实践中,人们会把两个系统分开,实时的部分采用流式系统,离线的部分采用批处理系统。采用以上架构有两点原因:

1) 由于大数据通过Spark等发展起来,本身采用离线的处理系统,批处理系统占据了公司的大部分业务,具有一定的先发优势。

2) 从工程上来讲,批处理是流处理的特殊场景,批处理系统在特殊的场景中可以进行特殊的优化。例如批处理系统不用考虑流计算窗口上的容错,在设计内部数据结构或查询优化时,可以假设数据是有限的,因此在批处理特殊场景下会有更好的性能,例如更高的吞吐量等。

二、 为什么要用阿里云流计算
  af90a1d08968659929304116514a2edc77fa8190
阿里云流计算采用一站式、高性能、稳定、易用的流式大数据处理平台。下面从四个方面介绍阿里云流计算平台。

流式SQL
  71f4025c3d5485f4b8a20f8452c491a88b95c53c
阿里云的流计算平台采用流式SQL语言,图中右侧为基于storm的固定时间窗口下的单词计数的java代码,左侧为实现相同功能的SQL代码,两者在代码量上差别巨大,SQL对生产力的提升有着非常大的帮助,同时SQL的编写较为简单,从而降低了使用者的门槛。

一站式平台
  d26187c7f855075d0fc5dfc9232cd24b903fb777
阿里云的一站式流计算平台相当于提供了一个web的IDE。流计算本身的开发、调试、运维和报警都可以在自己的平台中执行。流计算的上下游例如数据的存储、source、sink和中间的一些维表也可以通过自己的平台进行管理。该平台提供完善的支持,用户遇到的业务问题可以很快得到解决,同时支持团队根据用户合理的需求可以进行功能上的扩展开发。

数据生态
6654319c367bc520ea885415165aefed9721bea0
阿里云的流计算平台无缝对接阿里云上的十多种数据存储,所谓无缝对接,是指用户不需要进行数据迁移,用户注册后可以直接使用原来地方存储的数据,表现为一键式的流式大数据环境构建的处理系统。

Blink
  5bde64aac32486954b0275e3348f11ce11734fe3
阿里云的流计算平台采用Blink作为底层引擎。Blink可以认为是开源引擎Flink的企业版。阿里巴巴在底层引擎方面进行了很多优化,包括二级调度、增量checkpoint和异步IO等,在关键部分上有着10倍的性能提升。
  288eaf0d1b5b67c4151b081f49173b46a3329e9f
上图展现Apache Storm、Spark Streaming和Flink的区别,Flink将Apache Storm和Spark Streaming在流处理上的优点进行了集合,窗口作为流计算非常重要的特性,Flink在窗口方面表现得更好,想要在流计算中处理有限的数据通常需要使用窗口,Flink支持比较完善的事件窗口、时间处理窗口和会话窗口。

三、 如何用流计算
  ce7a71f3fc0cc7e6f024cf1e7b105f5fd7c4f2e3
如图为流计算的典型架构,一般地当用户拥有一个web、app或者作为IoT的厂商时,日常中会实时地产生日志,这些日志本身是流式的,可以推送到消息队列的服务器中,然后流计算订阅这些消息,在这一过程中可以关联一些用户的静态数据,进而得到结果,结果可以为流式的例如同样为消息队列的日志,也可以为静态的例如流计算实时地更新用户写入的数据,使数据保持实时更新的状态。
  81caca6faab80d3e1c6329617eb83d0ebd2bddea
进一步来说,流计算可以对数据流进行解析和过滤,两个数据流可以进行join(结合),同时用户可以定义一些函数即udf,处理一些特殊的逻辑,在流计算的过程中可能会关联一些其它静态的数据,获取数据的一些属性,最终经过汇总和统计产生结果。
  d48461d7fcbd91c48cbdb5867e562b4715bf268d
下面介绍流计算的典型应用场景包括实时推荐、工业IoT、欺诈检测和实时报表。

实时推荐
  355dada7c970bc82723fa7a211fa4e20665986b9
实时推荐中,系统获取用户画像,在内容数据库中进行相似度的匹配,找到与用户画像比较相近的内容推送给用户。为了解决实时性,将用户画像分为长期兴趣标签和短期兴趣标签两部分。长期兴趣标签指基本不太发生变化或者发生变化频率比较低的用户画像,例如用户的性别、年龄、地理位置、消费习惯等,由于长期兴趣标签对实时性要求不高,可以通过离线的方式进行更新。短期兴趣标签例如用户5分钟一直对汽车比较感兴趣,不断刷新汽车相关的网页。系统通过web或app记录用户的行为,发送到消息队列,流计算订阅消息队列实时地计算用户的短期兴趣标签,例如统计用户最近1分钟对所有类别的点击率,然后进行排序,获取点击率高的类别作为短期兴趣标签,经过内容匹配的搜索将结果返回给用户。

工业IoT
  214de0a93ed9306022220a3ff0cd1acfc1a8cfd0
工业IoT中,相当于用户拥有一条生产线,想要获得生产线上实时的指标或者监控生产线上的良品率,防止产生更大的损失。在该数据流中,用户在车床上部署传感器实时地采集产品的特征,然后将特征的原始信息例如日志发送到消息队列服务器中,流计算订阅消息队列获取产品的原始数据计算产品的特征,通过udf调用产品合格率的检测模型进行判断,最后将结果个性化地展现给用户。

欺诈检测
  4de816bdf4080a114450b061252c7d0c9805b8e6
欺诈检测中,假设电商系统实时地监控用户的行为是否在薅羊毛,它的数据流类似于工业IoT,用户的行为通过日志发送到消息队列服务器,流计算实时地将用户行为特征化,然后调用风险模型对用户的行为进行一对一的判断。在这一过程中CEP规则引擎是流式系统中复杂的分析归类引擎,例如可以在CEP中定义用户先做了A,过了3分钟又做了B,之后做了3次C和1次D,将这些动作综合起来认为用户做了异常行为。综合CEP和风险模型可以实时地检测用户的行为是否有问题,进而发出报警避免更大的财产损失。

实时报表
  61acb09b2a1551d4d054b651995e8203eda606f6
实时报表中,例如天猫的双十一大屏,将用户的交易数据和行为数据归组到消息队列中,消息队列读取数据关联到商品的属性,按照想要的维度进行统计,将结果存储在RDS中,展示系统读取RDS的内容进行结果展示。实时报表不仅仅只有展示作用,同时会产生一定的业务价值。
  55a60543be207b6c48743eb361a70924db698ba2
流计算应用的典型案例中,天猫双十一大屏的TPS(系统吞吐量)峰值是过硬的,每秒可以处理几亿条事务,从用户下单到数据汇总到大屏的整个全链路的延迟为3秒,同时拥有秒级别的流计算处理延迟。除了天猫,菜鸟和支付宝也在使用流计算进行实时的大数据处理,例如菜鸟通过流计算进行实时的仓库管理。流计算同时应用在城市大脑和工业大脑中,例如通过流计算进行实时地异常检测、实时地车辆检测、实时地监控、报表等。
  ab798d0a977d17a07f4a01f2a6320102f796d5db
如图所示除了阿里集团内部,阿里云流计算平台在公共云中已经拥有很多用户。实时化其实是一个非常横向的需求,覆盖行业范围广泛包括互联网、金融、IoT、国企和政府等。具有实时化大数据处理需求的用户都可以免费体验一个月的阿里云流计算平台服务,同时在试用的过程中会有专业人员进行辅导。
  d44b59df8004acdd2757d42e8f606d6f617f6c37
阿里云流计算平台在最近添加了一些新功能,包括独享集群、Datalake ETL和CEP。独享集群6月7日正式开始邀测,独享集群相对于公共云上的共享集群,在共享集群中所有的用户共享同一个集群,在独享集群中每个用户使用自己的集群,独享集群更加开放,用户可以定义很多的udf,网络与VPC的互通变得更加便捷,同时独享集群支持非常多的底层硬件例如GPU、FPGA等,可以实时地处理图像和视频。在Datalake ETL中用户可以进行数据的清洗、同步、分析等。CEP是在流式系统中进行复杂规则匹配的工具,集成于SQL,通过SQL定义复杂的模式进行匹配。

DT时代,数据是新能源,流计算让业务实时,让数据发电!

本文由云栖志愿小组丁匀泰整理

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
6月前
|
SQL 数据采集 数据挖掘
大数据行业应用之Hive数据分析航班线路相关的各项指标
大数据行业应用之Hive数据分析航班线路相关的各项指标
193 1
|
6月前
|
存储 SQL 缓存
实时数仓宽表加工解决方案
实时数仓宽表加工解决方案
176 0
实时数仓宽表加工解决方案
|
3月前
|
数据采集 运维 双11
实时数仓Hologres发展问题之Hologres提升实时数仓的生产级高可用性如何解决
实时数仓Hologres发展问题之Hologres提升实时数仓的生产级高可用性如何解决
69 2
|
3月前
|
存储 边缘计算 运维
实时数仓Hologres发展问题之实时数仓对Lambda架构的问题如何解决
实时数仓Hologres发展问题之实时数仓对Lambda架构的问题如何解决
63 2
|
3月前
|
JSON 关系型数据库 大数据
大数据-业务数据采集-FlinkCDC
大数据-业务数据采集-FlinkCDC
97 1
|
4月前
|
SQL 存储 关系型数据库
计算效率提升 30 倍、存储资源节省 90%,雨润集团基于 Apache Doris 的统一实时数据仓库建设实践
数字化转型的浪潮中,高效准确的数据分析能够帮助雨润集团快速洞察市场动态、优化供应链管理、提高生产效率。雨润集团引入了 Apache Doris 构建了统一实时数据仓库,实现了计算效率提升 30 倍、存储资源节省 90%、成本降低超 100 万、人员效率提升 3 倍,为智能化、高效化转型指明了方向。
计算效率提升 30 倍、存储资源节省 90%,雨润集团基于 Apache Doris 的统一实时数据仓库建设实践
|
4月前
|
SQL 运维 分布式计算
揭秘 TDengine 流计算的强大功能:从平均风速到复杂流计算
告别高延迟和高成本!TDengine 流计算让 KPI 计算轻松高效
84 4
|
6月前
|
SQL 大数据 BI
从离线到实时:无锡锡商银行基于 Apache Doris 的数据仓库演进实践
从离线到实时:无锡锡商银行基于 Apache Doris 的数据仓库演进实践
|
6月前
|
供应链 算法 新能源
基于 Flink 的实时数仓在曹操出行运营中的应用
本文整理自曹操出行基础研发部负责人史何富,在 Flink Forward Asia 2023 主会场的分享。
90587 2
基于 Flink 的实时数仓在曹操出行运营中的应用
|
6月前
|
消息中间件 安全 Kafka
【极数系列】Flink集成KafkaSource & 实时消费数据(10)
【极数系列】Flink集成KafkaSource & 实时消费数据(10)
171 1
下一篇
无影云桌面