Flink 的新方向在哪里?这场顶级盛会给出了答案

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

九月的柏林,比杭州多了一丝清冽,与之相对应的,是如火如荼的2018 Flink Forward Berlin(以下简称FFB)会场。在这个初秋,Apache Flink 核心贡献者、行业先锋、实践专家在这里齐聚一堂,围绕Flink发展现状,生态与未来,共话计算之浪潮。值得一提的是,阿里巴巴作为ApacheFlink主要贡献方,受邀参与此次盛会,并发表演讲。

本文主要来自阿里巴巴研究员量仔和阿里巴巴资深技术专家莫问在2018 Flink Forward Berlin会后的分享。

众所周知,Apache Flink是一款分布式、高性能、高可用、高精确的为数据流应用而生的开源流式处理框架。Flink的核心是在数据流上提供数据分发、通信、具备容错的分布式计算。同时,Flink在流处理引擎上提供了批流融合计算能力,以及SQL表达能力。

Flink Forward旨在汇集大数据领域一流人才共同探讨流计算、实时分析等领先技术。通过参会不仅可以了解到Flink社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕Flink生态的生产实践经验,是Flink开发者和使用者不可错过的盛会。

Leager 横空出世, ACID有新解

此次柏林Flink Forward上对于Flink的未来,展现出了几个新的方向:第一,Flink在解决传统的分布式事务(ACID)上做了更多改进。此次柏林Flink Forward上针对ACID提出了一种新的解法,这种方式比传统的分布式事务在性能上有更强的优势,走出了Streaming原有的领域和相关方面的扩张。Flink创建初期主要解决的是流计算方向的问题,随着生态的发展,同时也为解决多方面的需求,Flink 不断提升其解决更多场景的能力。正因如此,当下Flink正在做的场景就是从流计算向一个通用的场景转变。

2659c4bb6dbd90852fd43baeddd6ed3b7ef3d288

第二,阿里巴巴在FFB上宣布对于批和流两种计算模型做了更深度的融合,批计算能力对比当前Flink社区版本有了数量级的提升;与此同时,在大数据生态方面,Flink从流处理到现在的批流融合,得到了质的飞跃。从长远角度看,无论是机器学习还是到其他各个方面的场景,会逐渐将整个Flink生态完善起来。

同时,在大会第一天上午的主论坛中,dataArtisans重磅发布了基于云计算的分布式事务(ACID)的产品Leager,目前Leager发布了2个版本,一个是可试用的单机Streaming版本,另外一个是River版本,在DA Platform上有售卖。

Leager API在github上可以查看:

https://github.com/dataArtisans/da-streamingledger

大会现场,通过一个简单的Demo,dataArtisans CTO Stephan Ewen 向听众介绍了在金融行业如何通过Leager解决银行的转账问题。这是 Flink 生态上,一个新的分布式事务的解决方案。

0445c333c26a082c2cb3d5be76f20433865c8f39

批流统一,大势所趋

Flink在创建之初,就凭借其可以优雅支持多种计算模式的架构,被业界认为具备先天优势,这也是几年前阿里巴巴选择Flink引擎的一个重要原因。如今阿里凭借其领先的技术水平,持续优化Flink在批计算处理方面的性能,使批与流之间的界限日渐消弭,真正实现批流统一。

c6e29c6bf20f359551818df11b5955b5fa31f4ed

对比Flink,其劲敌Spark也有流批统一的概念,但做法与之大有不同。Spark是基于批处理做流处理,并且Spark在架构上先天不足,导致其在性能上的提升举步维艰,同时,天然批处理为主的架构为Spark进一步提高吞吐量带来巨大障碍。而Flink的批流统一,从另外一个方向去看,是将流作为一切计算的基础。这个方案与Spark相比,最本质的区别在于:第一, Flink是天然的流处理引擎,允许其在流上做到极致;第二,在流上做批,架构上允许把批处理也做到极致。

尽管在当初选择大数据计算引擎时,Spark无论是从热度还是生态角度也许都比Flink更胜一筹。但从长远考虑,阿里看到其在架构上存在几乎难以逾越的鸿沟,虽然Flink现在没有Spark生态那么火热,但是Flink的先天架构优势,加之诸如阿里这些大厂的支持,相信Flink会开辟出一片新的天空,且走的更远。

三年前,在内部启动Flink时,因其开源产品的特性,很难满足阿里大体量的特定场景需求,为了将Flink在阿里巴巴真正运行起来,阿里巴巴实时计算团队做了大量的优化,并命名Flink在阿里巴巴内部的版本为Blink。Blink在迭代优化的过程中,也在不断向社区捐赠代码,真正做到“取之开源,用之开源”。

目前,阿里巴巴的实时业务场景,从搜索到广告、数据平台、安全等等。所有大的场景都是基于阿里巴巴内部版本Blink展开,同时通过Stream Compute产品在阿里提供公共云服务。在Flink Forward上,阿里为Flink提出的批流融合新突破,这也是架构上的一个新方向,并已经得到了初步的成果和验证。

蒋晓伟认为Flink新的发展方向有两个,第一个是在传统数据处理领域:包括批流统一、机器学习、以及如何把AI workload融合进来;第二个是Flink和微服务的技术融合创新,从而为在线服务领域带来新的变革。这使得Flink在生态上,也会拥有大的想象空间。

Flink Forward过去只在德国柏林、美国旧金山举办。今年将由阿里巴巴作为独家承办方将这一盛会引入中国,于今年12月在北京落地,共建生态。更多会议信息将于近期发布,敬请关注。

关于Flink,也许你还想了解这些事情

Q:架构上,Flink和Spark相比最大的特点是什么,为什么Flink更适合做批流融合统一引擎?

Flink底层是基于Streaming,而Spark底层是基于Batch;这是两个截然不同的做法,Spark是在RDD的Batch上构建一切,因此Spark构建Streaming需要把RDD做的非常小。 在粗粒度上面构建一个细粒度,在计算上会有很多瓶颈,架构上的问题很难去解决,这也是Spark在Streaming上做的一些事。而Flink天然就是Streaming, Batch就是在Bounded Streaming上的延伸,在架构上是没有多少损失的。因此Flink在走Batch这条路上走下去是没有太多障碍的,并且阿里在Flink上面做了很多针对Batch场景的优化和改进,例如:JOB的调度以及容错,数据Shuffe,任务执行优化上都做了很多工作。

Q: 机器学习在Flink平台应用案例多吗?Flink在AI时代怎么同Spark竞争?

Flink平台应用案例还是较多的,在阿里内部,几乎一半的计算都是在机器学习上,近年来相当重要的一个趋势就是朝着实时机器学习发展。Flink的批流融合架构,使得其无论在离线还是实时机器学习领域都可以发挥。首先,在深度学习方面,现在很多算法在业务场景中都得到了很好的应用,作为一个好的计算引擎,都需要和深度学习很好的集成,Flink在这方面也正在做大量的工作;其次,对于传统的机器学习,阿里在Flink上也做了很多工作,并实现以及改进了很多机器学习算法。

Q:未来Flink和Blink发展差异性,或是有多少Feature没办法反馈给社区,对社区是不是一种损失?

阿里特殊的业务体量是很多公司暂时达不到的,这使得阿里在发展的过程中会更早遇到一些技术瓶颈,自然也会更早的解决这些问题。在解决问题的过程中,阿里会将对Flink的改进方案经过一定时间的验证确保稳定可行后再贡献给Flink开源社区。当然,Flink社区也是由很多其他公司在支持和使用,所以向社区贡献的过程和节奏是需要一定耐心和时间的,但这个过程肯定会越来越快,越来越顺畅。

Q:持续不定期的批处理算批还是算流?

批和流的分类不是非黑即白的问题,二者的界限会在批流统一趋势下逐渐模糊。我们真正要关心的问题是,选择执行计划是什么样的方式。比如一方面从Kafka流式获取数据,同时定期还要从HBase批量获取数据,这个时候已经分不清楚是批还是流任务了,这就是真正的批流融合了。

Q: Flink DataSet和DataStream API是否能统一?

目前TableAPI/SQL是统一的,但DataSet和DataStream是针对流和批不同的2个API,阿里现在提出了一个更加底层的DAGAPI,即一个有限无环图来表达计算拓扑的概念,这个拓扑可以表达各种流或者批的语义,图上的点表示算子(可以是流也可以是批算子),中间数据是流式传输还是批处理传输,整个图也可以是流批混合的,例如:一个Source从Kafka读一个DataStream,另一个Source定期从HDFS或者HBase读一个DataSet。其他API都可以基于DAGAPI来定义语义,以后DataSet API也许可以和DataStream整合掉,在DataStream中增加有限流的算子,就可以实现批处理了。

Q: Flink SQL 跟 GreenPlum 这样MPP架构的OLAP计算引擎 比起来优势在哪?

从处理场景来说,Flink SQL更广一些,例如:Flink SQL不仅支持短Query,还可以有长query。Flink在Failover上面做的比较全面,但OLAP都是短Query,不怎么需要Failover,因此OLAP引擎可以认为是一种特殊的批处理场景,有着自己特殊的需求和特性。


原文发布时间为:2018-09-13

本文作者:期待直播的

本文来自云栖社区合作伙伴“阿里技术”,了解相关信息可以关注“阿里技术”。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
机器学习/深度学习 分布式计算 大数据
Flink 的新方向在哪里?这场顶级盛会给出了答案
导读:Flink Forward是由Apache官方授权,Apache Flink 商业公司dataArtisans(Flink核心作者创办)发起,阿里巴巴、 Uber、Airbnb、Netflix等公司参与的国际型会议。日前Flink Forward柏林会议刚刚闭幕,今天,我们一起分享会议内容。
|
13天前
|
运维 数据处理 数据安全/隐私保护
阿里云实时计算Flink版测评报告
该测评报告详细介绍了阿里云实时计算Flink版在用户行为分析与标签画像中的应用实践,展示了其毫秒级的数据处理能力和高效的开发流程。报告还全面评测了该服务在稳定性、性能、开发运维及安全性方面的卓越表现,并对比自建Flink集群的优势。最后,报告评估了其成本效益,强调了其灵活扩展性和高投资回报率,适合各类实时数据处理需求。
|
3月前
|
存储 监控 大数据
阿里云实时计算Flink在多行业的应用和实践
本文整理自 Flink Forward Asia 2023 中闭门会的分享。主要分享实时计算在各行业的应用实践,对回归实时计算的重点场景进行介绍以及企业如何使用实时计算技术,并且提供一些在技术架构上的参考建议。
734 7
阿里云实时计算Flink在多行业的应用和实践
|
2月前
|
SQL 消息中间件 Kafka
实时计算 Flink版产品使用问题之如何在EMR-Flink的Flink SOL中针对source表单独设置并行度
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
14天前
|
存储 运维 监控
阿里云实时计算Flink版的评测
阿里云实时计算Flink版的评测
45 15
|
13天前
|
运维 分布式计算 监控
评测报告:阿里云实时计算Flink版
本评测主要针对阿里云实时计算Flink版在用户行为分析中的应用。作为一名数据分析师,我利用该服务处理了大量日志数据,包括用户点击流和登录行为。Flink的强大实时处理能力让我能够迅速洞察用户行为变化,及时调整营销策略。此外,其卓越的性能和稳定性显著降低了运维负担,提升了项目效率。产品文档详尽且易于理解,但建议增加故障排查示例。
|
13天前
|
机器学习/深度学习 运维 监控
阿里云实时计算Flink版体验评测
阿里云实时计算Flink版提供了完善的产品内引导和丰富文档,使初学者也能快速上手。产品界面引导清晰,内置模板简化了流处理任务。官方文档全面,涵盖配置、开发、调优等内容。此外,该产品在数据开发和运维方面表现优秀,支持灵活的作业开发和自动化运维。未来可增强复杂事件处理、实时可视化展示及机器学习支持,进一步提升用户体验。作为阿里云大数据体系的一部分,它能与DataWorks、MaxCompute等产品无缝联动,构建完整的实时数据处理平台。
|
2月前
|
消息中间件 监控 Kafka
联通实时计算平台问题之Flink状态后端数据量较大时,问题排查要如何进行
联通实时计算平台问题之Flink状态后端数据量较大时,问题排查要如何进行
|
2月前
|
消息中间件 监控 Kafka
实时计算 Flink版产品使用问题之怎么调整Flink Web U显示的日志行数
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之从mysql读数据写到hive报错,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
下一篇
无影云桌面