Article / 文章中心

实时数仓助力互联网实时决策和精准营销

发布时间:2022-02-10 点击数:237

实时数仓助力互联网实时决策和精准营销

曩昔几年数据开展的趋势:

咱们看到的数据剖析根本上的趋势从批处理向交互式剖析再向流核算大致演进的趋势。

在十年前的时分 大数据更多是处理规划的问题经过并行核算的技能处理海量的数据,那时更多是在做数据的清洗,数据模型的规划,对剖析的需求并不太多。

但现在今日阶段,咱们的大数据团队根本上都变成了数据剖析的团队,对数据模型的沉积对交互试剖析的支撑才能 对查询响应推迟的支撑的功率。

数据剖析也并不仅仅那种数据存下来再剖析,也有许多那种核算前置,先有逻辑后有核算的场景就比方说咱们在双十一的时分在多少秒成交多少量,这样典型的场景就不是先有交易数据后有核算量的问题,必定是跟着交易发生的实时核算成果带动进程。所以交互式剖析和流核算几乎是并行前进的进程。

那两种新的场景其实对背面的技能要求也许多不相同,批处理的时分,咱们更多考究的是并行度,在交互式剖析范畴里面 咱们开端有许多的预核算,内存核算索引一些技能,也是推动的大数据技能的演进。


那整个总结下来,咱们就说数据剖析是越来越多的支撑着一些在线事务。

阿里巴巴典型实时数仓场景:

在阿里巴巴其实有许多是数仓的一些运用场景,就像咱们常见双十一的时分大屏GMV,这方面其实仅仅结论性的数字,咱们说多少秒成交了多少量是十分招引的成果,可是实际上的 对数据剖析师而言,作业是刚刚开端,那咱们要向下剖析是什么产品,在什么样途径 针对什么样的人群,以样的促销手段达到转化作用,那有哪些转化作用却没有达到,这些剖析其实十分十分的细力度,其实是个精细化剖析这样的作用。

那剖析之后,就会对咱们的一切的产品一切的人群都要做一些标签化,经过标签化呢 我能够下一步去指导咱们在线的使用 去做引荐,去做剖析,去做圈选等等,所以说有许多数据中台的事务也会发生,还有一类事务偏监控类事务,订单忽然颤动忽然增加,网络质量的颤动,视频直播的一些监控等,这些也是典型的实时数仓的一些场景。


大数据实时数仓体系的“纷繁芜杂”:

从左上角也开端,音讯从音讯中间件搜集,之后呢,最开端的时分必定是离线加工的那,时分咱们还没有许多施行的技能 首先要先处理规划的问题,经过离线的加工,咱们会把加工的成果集变成小的成果集,存到Mysql和Redis。

这是典型的加工服务二元化的体系,经过把数据变成小数据之后,才能对外供给上层的不论是报表使用仍是引荐使用,之后数据剖析需求施行化光靠这种T+1的离线加工是不能够满意需求的,咱们的数据越实时,越有上下文 价值是越大的,这时就有许多核算前置的技能,咱们会选用像Flink技能,经过Flink直接消费Kafka里的事情,经过事情驱动的办法做核算,这种办法,Flink能够是十分分布式的,可扩展性十分好,它能够经过核算前置,经过事情驱动的办法能够把端脑端的推迟呢做到极致,做得十分小。

这儿有有处理规划的,有处理速度的,两者看起来外表上都满意必定的需求 其实本钱也是不小的,咱们看到假如想要核算的满足的快,要把核算前置的,实际上数据模型的灵敏度就削减了,由于现现已过Flink把一切的数据给会聚,变成成果集了,这时,假如有些事务逻辑一开端没有界说好,比方说开端剖析的是某三个维度的聚合,这时想剖析第四个维度的聚合,那很抱歉假如提早没有核算好,这时就没有办法剖析,所以说称为灵敏性。

这时,咱们会发现,相同一份数据处理,数据涣散的三个不同的介质,包含离线处理的介质,进实时处理的介质和种叫全实时处理介质里面去,一个数据涣散在三个介质里面去 往往还会有三个团队来保护,三个团队跟着时刻的开展,人员的人员的变动,数据加工逻辑必定会有多多少少的调整,表现的成果咱们会发现,同一个目标经过三个不同途径核算,成果是不共同的,这个几乎每公司都必定会发生。那仍是仅仅外表的问题 那对于剖析师来说就很痛苦,他要运用不同的数据,要拜访不同的体系,那他要学习不同的接口,乃至是有不同的反响操控机制,就十分不便利,有许多公司都要搭一套所谓的数据中台,经过中台来屏蔽底下物理引擎上的不同。

联邦核算技能实际上也是曩昔20多年有许多开展,从最前期的数据信息体系集成到数据虚拟化,技能一直在开展,这个技能是一套数据不移动,核算移动的技能。听起来很美好,可是当咱们真正在出产运用的时分会发现,这套体系的查询体会是不行预期的,你不知道这些经过体系查询下去数据是快仍是慢,由于他把查询下压下的不同的引擎不同引擎的,比方have我就没那么快,Clickhouse就比较快。说对剖析师来说,他就不知道我对体系的预期是什么,叫不行预期性。

这套架构,实际上是运转正常情况下都很好 可是一旦数据质量有问题,数据同步调度场出问题,环环依靠使得整个运维的本钱变得十分的高。

咱们是怎么办理数据的状况呢?

其实每个程序员要自己写这些状况保护,有的人用文件体系,有的人用文件,光用文件体系,十分离散的,这个保护起来也十分难。由于数据和数据之间是有联系的,这个时分,还有一些网状结构的,这样体系呈现了经过一个文件能够跳到别的一部文件去,这个是网络结构 也是办理强 相对比较杂乱 由于循环,嵌套等等。

下面还有层级结构,这也是一种数据类型的描绘办法。

要自己去办理这些数据状况 其实本钱是很高的,今日,咱们根本上不会再这么干,由于今日,咱们知道一切的状况尽量都存在数据库里,也是由于外形数据库让这件作业,变简略许多,尽管今日没有许多种关心数据库。


实时数仓中心需求:时效性

先脱脱离那些技能组件,看一看实时数仓究竟有什么样的事务上的需求,针对这家事务需求,能够要求有什么样的数据架构。

什么是实时?

许多人认为实时便是说从数据发生到能够被剖析的时刻满足的短,便是实时剖析,其实这件事只说对了一半。实数仓的有两种施行,一种的便是叫端到端的推迟短,这是一种实时。

别的一种实时的叫按时,便是当你真正剖析数据的时分。能够拿到有效的数据,并且能够得出结论,那这就能够叫按时。

假如核算全部前置,你的灵敏性会损失,所以这件事是有本钱的,那相对来说,假如你是寻求的是个按时的体系,就能够把一部分的这个核算逻辑后置,交换的是一个灵敏剖析的一个场景。这个时分就需求有更多的明细数据能够能够存下来,咱们能够做更多的交互式剖析,相关剖析,探究式剖析。所以说,这背面这两套体系最终的需求是不相同的。


实时数仓中心需求:数据质量

多久发现质量问题----数据状况(明细汇总)可查看

多久批改质量问题---- (1)简化数据重刷,数据可更新

(2)削减归于亢余和不共同

其次便是数据目标,那数据质量的确是实时数仓建造很重要的一环。

假如不寻求数据质量,只寻求时效性的话,一开端经过核算前置加工成一个成果集,这个成果集告诉你,达到了这个一百亿。你敢相信这个数字吗?

我觉得绝大部分领导是老板是不敢相信的,由于这100亿背面究竟或许数据质量出问题,或许是核算逻辑写错了。所以说,要能够确保数据质量,数据质量分两个方面:一个是多久发现质量问题,以及还有便是多久批改质量问题。

假如你想发现数据质量问题,就需求把核算进程的状况呢能够被持久化,那就期望你的数据库房引擎里面能够有明细以及汇总数据呢,能够落盘那这些数据,能够被查看这样话究竟老板问客户带来的增加,这个时分,你就能够经过这些明细的数据去查看究竟是什么。规划质量有问题仍是其他逻辑有问题。

所以说,假如让发现问题和批改问题相比较来说,更期望一个体系能够具有批改数据问题的这样才能批改问题,便是说我能够在发现数据这样的时分能够简略的更新这个数据的状况,比方说单行数据的更新,单列数据的更新,批量的更新等等,有很简略的办法做数据的改写。其次,也是期望数据批改的时分,尽量能够只批改一个体系就好。


实时数仓中心需求:本钱优化

开发本钱(上线新事务):

(1)事务与技能解耦,数据财物可复用,事务自助开发

(2)简化链路,削减依靠,削减数据传递

运维本钱(集群资源):

(1)更少的集群,更少的运维作业

(2) 更小的集群,资源充分发挥

(3)托管服务,弹性伸缩

人力本钱(学习招聘本钱):

(1)开发接口规范简略,降低学习本钱

(2)兼容干流 BI 

第三部分呢便是本钱的问题,这个本钱分三部分,开发本钱、运维本钱和人力本钱。开发本钱便是说咱们想要事务需求多久能上线,做同一件事,需求11个一个团队的人仍是一个人,是需求一周呢仍是需求一天。运维本钱,运维本钱简略翻译过来便是说,曩昔集群太多,花的钱太多,你要开4套5套集群,重复调度,重复监控,所以说,假如未来有时机 咱们从头选行新的数仓的时分,应该考虑怎么把这个本钱节省下来。用更少的集群,更少的运为来供给更多的才能。第三个本钱便是人力本钱,这包含招聘的本钱和学习的本钱。


第一代实时数仓:数据库阶段

第一代技能,咱们叫数据库阶段,这也是典型的这个拉姆达阶段,根本上便是有一个事务需求,就有一套数据链住,然后数据链住的根本分为这个实时和离线两部分。

相互数据有用于发生数据不共同,这都是比较直接,这儿更重要的问题便是只有烟囱式的开发,这是最大的问题。最终,会发现这个成果集或者你生成的报表端几百张报表,其间分之 80的部分其实相互呢,是有很大的勇于部分的。

这个事务部分看的是这三个目标,别的一个部分的看的是其间两个目标,那仅仅中间或许换了一个字段,这是很常发生的作业,便是这个原始数据都是相同的,可是咱们统计的字段你多一个我少一个,可是,我就要从头端到端去开发。

这也是一件严重降低开发功率的作业,那绝大部分开发核算使命的相互的都是勇于的,是糟蹋的。这种烟筒式的开发 是归于上手很快,但实际上呢在运维上不行持续的一件作业。那咱们一般怎么处理烟囱是问题,这个时分烟囱是问题,处理办法根本便是把同享的部分要沉积下来。

怎么沉积,咱们就进入第二个阶段,叫数据库房的一个阶段.


第二代实时数仓:传统数仓阶段

库房是很好的概念,便是把那些可被服用的核算的目标沉积出来,所以出仓里面,咱们要想分层,经过层层的沉积,把同享的部分向下沉 ,把差异的部分的向上移,这样话,削减重复建造这些问题。这也是在这个数仓里面几十年沉积这条根本的办法,十分的好。


第三代实时数仓:剖析服务融合阶段

第三阶段的或许是什么样子,那这个阶段,在阿里内部,实践到这个阶段,在绝大部分外部的公司,仍是在这个路上探究,那这个探究你看跟方才有两个差异:

一个是在服务端一致,不论你是olap体系仍是只有点查的体系,用一个体体系一削减这种数据的分裂,削减这种接口的不共同,削减一份数据在不同体系之间传递来传递去,完成一致存储这样一个作用。

这让咱们数据状况的查看数据的批改都变得更简略,然后接口上,也都相同一个体系里面,咱们的安全法文操控使用开发的接口也都能够共同化。

最终便是组件少了,由于本钱也降低了,那对公司来说呢也是省钱了,所以呢,还有许多收益的。

在阿里双十一,其实也便是在这样的办法去做,双十一的时分,更多的时分仍是一个吞吐量,的确是几乎是世界最大的。咱们看到数据,经过实时通道走音讯中间件,首先,一般是点击流数据需求经过 Flink 做一些尾表拉宽的操作,点击流这儿边记载的时分是 i d,什么 id 点击了什么样的 sku 那这个时分,我要把这个sku作为表拉宽,把它翻译成是什么产品,什么类别,什么人群点击的,经过什么途径。那把这些表一表拉宽之后,存在 Hologres 这样一个数据库房里面。那同时这个Hologres 实时数仓,别的一部分数据会离线啊,守时同步到咱们的离线储仓里面去,扮演的是一个前史大局数据的一个概念。

Flink 根本上已成为职业上施行核算的一个标杆,各个职业都在运用。阿里也是这方面的一个领导者,开元技能背面都一家成功的商业公司,阿里也是这家,阿里便是Flink 背面呢这家商业公司。

可是在这个库房体系的挑选上不太简略,就由于选项十分的多, 实时核算的部分很简略,便是 Flink。那有几类体系能够挑选,首先分了三类,就事物体系,剖析体系和服务体系。事物体系便是发生数据的体系,许多事务体系,能直接做剖析吗?

根本上不太简略,由于它的直接剖析的时分,你的负载很或许影响在线体系的稳定性,并且功能上也是无法确保,由于这些体系,它是面向随机读写优化的。

所以咱们做第一件事,便是事物体系和剖析体系的这个分离,咱们把这些数据,先做一次同步,同步到分体系里面去,剖析体系的是专门为优化做为剖析做了许多优化的,咱们会选用像列存分布式,汇总结构于一层等等这些建模的办法,把剖析的数据模型简化,也包含丰富,然后把数据剖析的功能进步,这是一个面向剖析师的体系。别的一种体系也是经过数据来驱动的一个场景,更多是支撑在线的使用,也有许多的数据高吞吐的更新的那些才能。

所以,会看到数据从源头发生之后,一般有两个出路,一个是进入剖析体系,一个是作用服务体系,仅仅在线使用,那这个时分,会发现数据其实在不同体系里面,就发生了许多的分裂,之后又意味着数据的移动,数据的搬家,数据的依靠和接口的不共同。

咱们开端想办法做立异,第一个立异是在这个鸿沟处做的立异,是不是一个体系既能够做剖析又能够做服务呢?挺抱负的 在有些场景下的确也是适合的。

这在这些体系的又有一些约束,第一个约束便是这个体系的底线是要确保事物,事物是一件对核算才能开销十分大的一件作业,咱们能够看到绝大部分分体系是不能不支撑事物的。

别的一端咱们看一些立异,是否一个体系既能够支撑剖析的场景又能够支撑在线服务的场景,支撑高并发,支撑快速的查询,支撑数据的可更新。假如用一个体系能够支撑这样两个场景的话,就会让咱们数据搬家,数据开发的本钱又降低了许多。

同时,这两个体系咱们看有许多共性的部分,比方说数据根本以只读为主,根本是没有锁的要求。然后,都需求数据被加工,被笼统,你会看到我这鸿沟说的剖析体系和服务体系的,它的共性其实是十分大的,是有时机的做立异的。

绿色的都是有优势的,比方说这个 Mysql 供给很好接口,由于 Mysql 的这个开发比较便利,各种函数也多。但实际上的可扩展性,它数据的灵敏性都会差许多,由于Flink+Mysql 便是要把数据变成一个成果集来运用,短少许多的中间的状况,数据需求搬家批改的本钱是十分高的。

这个时分,开端往前往走了一步,Mysql 扩展性不好,Hbase 扩展性好,Hbase 扩展性的确十分好,能够处理很大的数据的规划的问题,但实际上的数据改写的才能就比较弱,想随时更新某一行某一列的数据,不太便利,然后数据模型灵敏度不太好,但你假如不是按那个k去查,就很不便利。

在之后,咱们看 Clickhouse,最近几年也是十分的火,查询速度十分的快,十分适合宽表的场景,可是数据剖析的假如只有宽表也是也是能够的,可是往往咱们知道,数据剖析光靠一张宽表是不行的,那需求许多表的相关,嵌套窗口核算,所以这的这种场景下,对于这个 Clickhouse 就有些勉强。

Clickhouse 在不支撑许多的函数,相关操作都不支撑,特别数据相关表,相关的场景下功能下降的也是比较显着的,在原数据办理上有很大的约束,它短少一个分布式的原数据办理这样一个体系,所以在运维上本钱仍是比较高的。要把功能做的好,需求必定的索引,需求跟查询引擎做满足多的深度的优化。

Hologres 相对来说在数据模型的灵敏度,剖析的赞助性,可扩展性,数据的批改才能上,越维才能上,都是一个不错的这样一个体系。假如你是使用在线的体系,支撑上万上十万的这种高科表的响应,它也是能够支撑,然后它是一个彻底分布式,可扩展的架构,能够跟着这种负载改变弹性伸缩。然后,是一个托管的服务,弹性伸缩才能都是经过这种白平化的界面进行操作,所以运维上的是比较简略的,开发上的便是一个规范色扣接口。

所以 Hologres 是具有的前面其他体系的一些优势,那也弥补了曩昔的一些缺乏,是比较引荐的施行数仓架构的一个选项。

其次,目标服务的时分,一致的服务的接口,不论你是内部交互试剖析的场景仍是在线点查的场景,都能够经过一个数据,相同一个数据服务接口输出,输出经过把这两个场景融合在一起,进步咱们的开发量功率。

在架构层面上,根本上仍是比较灵敏的一个架构便是数据,实时介入进来之后,我把加工层能分成两个环节,一个叫明细层加工,一个叫会聚层加工。

加工层的时分也是做清洗,相关转换,根本经过 Flink 来做这个核算,加工完之后,你就能够把这明细成果直接存下来,许多公司,假如你除了也是订单数据的话,这样根本就能够了,由于订单数据根本数据量在。这个规划是比较多的公司,那这类直接对外供给报表服务。不需求做许多的二次的会聚加工,在整理加工的进程中的常常会做违本的相关把他拉宽,这类是点查的场景,那也是十分适合的。

假如你的数据根本上订单数据到这就差不多了,假如你是这个交易,是行为数据,点击流数据的话,往往数据量更大 数据的价值度更低。这个时分你全存明细实际上对剖析来说,功率上比较低。

这时你能够再去做二次的会聚加工,加工成一些轻度回总层。有些情况下,你也能够经过数据存到明细数据之后,然后在数据库里面做批量的调度,也是能够再继续做二次的会聚和加工。


实数数仓场景 1:即席查询

Hologres 这儿界说了三种完成的办法,三种完成实行它的办法:第一种的叫继续查询,继续查询便是那种你也不知道查询模式是什么样子,便是先把数据存下来,然后供给尽量多的灵敏性的一个场景,所以这个时分,咱们就会主张你尽量把操作层经过简略的数据质量的整理相关,把它就存到明细数据就能够,先不要做过多的二次加工汇总,由于这个时分你怎么剖析数据都不太清晰,你能够经过视图封装的办法对外屏幕服务。

但这个时分,都没有做物化,这样话原始数据有任何的更新,你都能够随时改写,一层数据就能够,只更新一个当地的数据就能够。你不需求把上面说的会聚表做更新,由于上面没有会聚表是会聚的,是视图。所以,这种兼有核算的是灵敏度十分高,但它的查询功能并不是必定是最好的,由于视图核算量是十分大的 每次查视图的时分都要对底下的原始数据做相关做嵌套,所以核算量相对比较大。


实时数仓场景 2:分钟级准实时

那第二种场景分钟级准施行,这种便是像方才相比,对 qps 要求更高一些,查询的相对愈加固化一些,这时就会把方才那些视图的部分的,我就会把它雾化成一张表,逻辑仍是方才的逻辑,可是变成表了。

变成表之后,是按我的查询的这个数据量,就会小许多,让查询功能上的有一个确保,这个也是比较简略的办法,那咱们说这数据不实时的,其实不是的,这个分钟基调的五分钟生成一个批调度,调度批次十分钟一次。

经过这套办法,你的开发办法开发变得十分简略,任何环节,任何数据有过错的时分,你只需调度从头跑下就能够。

当然,还有些场景区对推迟十分灵敏,我不能等十分钟,五分钟,他有必要数据发生的时分就加工好,这时,咱们便是经过叫增量核算的办法,提早经过Flink层层会聚。

其实在不同场景列为不同挑选办法,全实时的,也能够经过增量的办法去做核算,可是更多的时分,其实咱们能够经过绩息查询或分钟及准现实的办法供给更好的灵敏性,供给更高的运维本钱,这也是能够引荐的办法,所以这个肯定不是只有一种检测办法。

例子:

营销活动曩昔都是提早他一个月做各种规划,这个营销在什么当地投什么的广告,给什么人群投广告,投什么样代金券促销等等。但这件事,在互联网范畴里面还有要求会更高的,由于互联网往往是那种一天,比方像双十一促销相同,但实际上对这种实时战略的调整的需求会越来越多,只有双十一这一天的时刻 你要实时去了解成交的排行 成交的构成,库存的情况,每个流量通道的转化率,由于你要知道你一开端规划给谁,就比方说你打开一个网页,主页引荐的产品,一开端你要引荐的是它,可是你会发现跟着你的这个时刻的这个进展,这个产品的转化率十分的低,乃至是或许是产品的质量问题,投诉率很高,退单率很高,这个时分你有必要要调整你的营销战略,所以说这种实时营销的场景下,对实时数据剖析就要求十分的高,你要实时了解每个途径,每一类人群每一类产品,转化率,成交率等等来施行调整你的营销的战略,那这样会进步,到最终成果,便是进步的转化率,那成交率在阿里内部,这个核算那大概架构便是这样。

这个架构曩昔,这是前期的方案,那这样一套架构实际上是这种方才说到的一切集团逻辑,经过 Kafka 串起来事情加工的办法,然后经过Flink汇总,汇总的成果集存起来,之后有什么约束呢?便是开发功率和资源耗费会变得十分的大。数据剖析,剖析或许是个N个维度,比方说时刻,地域,产品人群。这个类别分一级类别,二级类别,三级类别,对人群也是不同的消费才能,教育程度,地域等等。所以说,曩昔为什么核算量十分大 ,为我要算 2 的 n 次方种组合才能够把一切或许被剖析的角度的都提早算好存下来,这样咱们的剖析师看报表的时分,不论他挑选什么样的维度组合,都能够找到这样的一个核算成果。但这个核算量几乎是个天文数字得2 的 n 次方,所以说不行能有程序员写出这么多的核算,这时怎么办,假如你没有算的话,就没有这个成果集,你一开端算三个维度组合忽然老板觉得这三个维度缺乏以让我判别书这今日发生究竟什么事,我想再加一个维度,很抱歉没有提早写这段逻辑,这时分上限数据现已耗费消费完了,没有办法再从头核算出来,从头核算本钱有必要充满许多许多核算,这个开销十分大。所以这种开发办法是一种开发功率耗费资源十分多的一种办法。

那变革之后是什么样子,变革办法看架构其实没有本质的改变 仍是那些加工的逻辑,最大改变在哪里,实际上就方才说到,它经过视图的办法替代了许多中间加工的这个进程,视图实验是在数据库里面做核算,其实要把核算前置放一部分核算前置的使命,放在核算后置的,原始数据仍是经过音讯通源键经过 Flink 做解析,然后存着明细数据,在明细数据之上,就不再做许多的二次汇总加工,而是经过许多逻辑视图,你想看三个维度,你想看八个维度,随时能够写到语句里,视图是能够随时上线的,并不影响原始的数据。这样开发功率也会变得十分的高 从曩昔要核算2的n次方,到现在只存到一张明细之后,针对事务需求场景做一些轻度汇总层dwd和dws的逻辑封装,建视图就能够。最终,运维本钱跟架构同比的联系,运维本钱是要求这个技能架构,具有很好的弹性伸缩才能,也是 Hologres 具有的才能,在双十一,在流量打十倍的场景下能够随时的弹性,这是十分便利的一点。

所以对它来说收益是十分大的,那曩昔需求几个很杂乱的核算逻辑流程,数据从发生到输出成果需求几个小时的核算进程,这意味着,我过了几个小时才能看几个小时之前的数据,去调整事务逻辑,再看成果,又要等几个小时让我整个事务的灵敏性敏捷性就会受打很大的扣头。那运用 Flink+Hologres 这套架构之后,咱们能够看到数据,是施行发生,施行剖析,所全天,随时能够做事务逻辑决策调整。

咱们能够看到他们向大屏开发,大屏里面有几十个不同的目标.

那最终,便是 Hologres 并不是只有一种做法,在公司的数仓建造的不同阶段,Hologres 有不同的运用办法,那咱们就探究办法,开展办法和成述办法。Hologres在不同的建造阶段,你能够选用不同的技能,有列存,行存,音讯驱动,在不同阶段你能够运用不同技能来适应不同的需求。

首先 Hologres 是一个开发上相对比较简略那个体系,便是你会写 sal 语句,就能够运用那个体系,他对sql几乎没有什么约束,不论是衔接操作,窗口操作,都能够支撑便是规范的 gdbc,其次,这个体系查询的是满足的快的,写入即可查。

其次,这个大数据生态体系的结合是十分原生的,不论是 MaxCompute 仍是的Flink 有许多原生的 connector。