还在为Join性能问题烦恼试一试新一代流式计算引擎TuGraph-Analytics
TuGraph-Analytics起源
早期的大数据处理主要以离线处理为主,以Hadoop为代表的技术栈很好的解决了大规模数据的分析问题。然后数据处理的时效性不足,很难满足高实时需求的场景。以Storm 为代表的流式计算引擎的出现则很好的解决了数据实时处理的问题,提高了数据处理的时效性。然而,Storm本身不提供状态管理的能力, 对于聚合等有状态的计算处理显得无能为力。Flink 的出现很好的弥补了这一短板,通过引入状态管理以及Checkpoint机制,实现了高效的有状态流计算处理能力。
随着数据实时处理场景的丰富,尤其是在实时数仓的场景下,实时关系运算(即Stream Join) 越来越多的成为数据实时化的难点。Flink虽然具备优秀的状态管理能和出色的性能,然而在处理Join运算,尤其是3度以上Join时,性能瓶颈越来越明显。由于需要在Join两端存放各个输入的数据状态,当Join变多时,状态的数据量急剧扩大,性能也变的难以接受。出现这类问题的本质原因是Flink等流计算系统以表作为数据模型,而表模型本身是一个二维结构,不包含关系的定义和关系的存储,在处理关系运算时只能通过Join运算方式实现,成本很高。
在蚂蚁的大数据应用场景中,尤其是金融风控、实时数仓等场景下,存在大量Join运算,如何提高Join 的时效性和性能成为我们面临的重要挑战,为此我们引入了图模型。图模型是一种以点边结构描述实体关系的数据模型,在图模型里面,点代表实体,边代表关系,数据存储层面点边存放在一起。因此,图模型天然定义了数据的关系同时存储层面物化了点边关系。基于图模型,我们实现了新一代实时计算引擎GeaFlow,很好的解决了复杂关系运算实时化的问题。目前TuGraph-Analytics(工程名GeaFlow,以下简称GeaFlow)已广泛应用于数仓加速、金融风控、知识图谱以及社交网络等场景。
主要特点
- 以图为模型的分布式流式计算引擎
- 高可用和exactly once保障
- 图表一体化分析处理
- 提供SQL ISO/GQL开发语言
- UDF/图算法/Connector插件支持
- 高阶API开发支持
- 一站式图研发平台支持
- 云原生部署支持`
和传统流计算引擎如Flink的异同点如下:
特性 | GeaFlow | Flink |
---|---|---|
数据模型 | 以图为基本数据模型的流式计算引擎,能同时处理表模型数据 | 以表模型为基础的流式计算引擎 |
状态管理 | 同时支持流式状态管理和图数据状态管理 | 支持流状态管理 |
Exactly once | 支持 | 支持 |
Join支持 | 支持复杂多度Join关联运算 | 不适合复杂Join |
图算法支持 | 原生支持图算法 | Flink gelly模块支持(目前已移除) |
查询语言 | SQL ISO/GQL | SQL |
GeaFlow相关设计参考论文:GeaFlow: A Graph Extended and Accelerated Dataflow System
技术概览
GeaFlow整体架构如下所示:
GeaFlow整体架构从上往下包含以下几层:
- GeaFlow DSL GeaFlow对用户提供图表融合分析语言,采用SQL ISO/GQL方式.用户可以通过类似SQL编程的方式编写实时图计算任务.
- GraphView API GeaFlow以GraphView为核心定义的一套图计算的编程接口,包含图构建、图计算以及Stream API接口.
- GeaFlow Runtime GeaFlow运行时,包含GeaFlow图表算子、task调度、failover以及shuffle等核心功能.
- GeaFlow State GeaFlow的图状态存储,用于存储图的点边数据.同时流式计算的状态如聚合状态也存放在State中.
- K8S Deployment GeaFlow支持K8S的方式进行部署运行.
- GeaFlow Console GeaFlow的管控平台,包含作业管理、元数据管理等功能.
应用场景
实时数仓加速
数仓场景存在大量Join运算,在DWD层往往需要将多张表展开成一张大宽表,以加速后续查询。当Join的表数量变多时,传统的实时计算引擎很难 保证Join的时效性和性能,这也成为目前实时数仓领域一个棘手的问题。基于GeaFlow的实时图计算引擎,可以很好的解决这方面的问题。 GeaFlow以图作为数据模型,替代DWD层的宽表,可以实现数据实时构图,同时在查询阶段利用图的点边物化特性,可以极大加速关系运算的查询。 如下为GeaFlow实时数仓加速的流程图:
实时归因分析
在信息化的大背景下,对用户行为进行渠道归因和路径分析是流量分析领域中的核心所在。通过实时计算用户的有效行为路径,构建出完整的转化路径,能够快速帮助业务看清楚产品的价值,帮助运营及时调整运营思路。实时归因分析的核心要点是准确性和实效性。准确性要求在成本可控下保证用户行为路径分析的准确性;实效性则要求计算的实时性足够高,才能快速帮助业务决策。 基于GeaFlow流图计算引擎的能力可以很好的满足归因分析的准确性和时效性要求。如下图所示:
GeaFlow首先通过实时构图将用户行为日志转换成用户行为拓扑图,以用户作为图中的点,与其相关的每个行为构建成从该用户指向埋点页面的一条边.然后利用流图计算能力分析提前用户行为子图,在子图上基于归因路径匹配的规则进行匹配计算得出该成交行为相应用户的归因路径,并输出到下游系统。
实时反套现
在信贷风控的场景下,如何进行信用卡反套现是一个典型的风控诉求。基于现有的套现模式分析,可以看到套现是一个环路子图,如何快速,高效在大图中快速判定套现,将极大的增加风险的识别效率。以下图为例,通过将实时交易流、转账流等输入数据源转换成实时交易图,然后根据风控策略对用户交易行为做图特征分析,比如环路检查等特征计算,实时提供给决策和监控平台进行反套现行为判定。通过GeaFlow实时构图和实时图计算能力,可以快速发现套现等异常交易行为,极大降低平台风险。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgahjak
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01