阿里蒋晓伟谈流计算和批处理引擎Blink,以及Flink和Spark的异同与优势

首届阿里巴巴在线技术峰会(Alibaba Online Technology Summit),将于7月19日-21日 20:00-21:30 在线举办。本次峰会邀请到阿里集团9位技术大V,分享电商架构、安全、数据处理、数据库、多应用部署、互动技术、Docker持续交付与微服务等一线实战经验,解读最新技术在阿里集团的应用实践。

7月19日晚8点,阿里搜索事业部资深搜索专家蒋晓伟将在线分享《阿里流计算和批处理引擎Blink》,其基于Apache Flink项目并且在API和它上兼容,深度分享阿里为了能够满足业务需求在Flink上做的一系列改进。

阿里巴巴在线技术峰会专题:
峰会统一报名链接:



蒋晓伟老师,认真而严谨。在加入阿里之前,他曾就职于西雅图的脸书,负责过调度系统,Timeline Infra和Messenger的项目。而后在微软的SQL Server引擎担任过Principal Engineer,负责关系数据库的架构工作。2014年加入阿里以后,作为阿里搜索事业部资深搜索专家,他负责搜索工程的数据团队。

谈起大数据框架,业内尤其对于开源大数据生态圈的许多优秀的计算框架耳熟能详,比如Spark、Hadoop、Storm等。但对于Apache基金会的顶级项目的Flink,知道的都比较有限。而更多是对比Spark,比如知乎的这篇帖子讨论的就是“Apache Flink和Apache Spark有什么异同?它们的发展前景分别怎样?

:相比Spark、Hadoop、Storm等,是什么样的场景需求让阿里搜索团队选择了Flink?

蒋晓伟:首先我们希望有个流计算和批处理的一体化处理方案。Spark和Flink都具有流和批处理能力,但是他们的做法是相反的。Spark Streaming是把流转化成一个个小的批来处理,这种方案的一个问题是我们需要的延迟越低,额外开销占的比例就会越大,这导致了Spark Streaming很难做到秒级甚至亚秒级的延迟。Flink是把批当作一种有限的流,这种做法的一个特点是在流和批共享大部分代码的同时还能够保留批处理特有的一系列的优化。因为这个原因,如果要用一套引擎来解决流和批处理,那就必须以流处理为基础,所以我们决定先选择一个优秀的流处理引擎。从功能上流处理可以分为无状态的和有状态两种。在流处理的框架里引入状态管理大大提升了系统的表达能力,让用户能够很方便地实现复杂的处理逻辑,是流处理在功能上的一个飞跃。流处理引擎对一致性的支持可以分为:best effort,at least once 和 exactly once。Exactly once的语义才能真正保证完全的一致性,Flink采用的架构比较优雅地实现了exactly once的有状态流处理。另外在保证了一致性的前提下Flink在性能上也是相当优秀的。总结一下,我们觉得在流处理方面Flink在功能,延迟,一致性和性能上综合来看是目前社区最优秀的。所以我们决定采用它来实现流和批的一体化方案。最后,还有一个很重要的原因是Flink有一个比较活跃的社区。

:如何看待Flink、Spark、Hadoop、Storm等技术发展和不同场景下的优势对比?比如与Spark相反,Flink把批处理化作流处理,这种方式在使用时是否有什么限制?

蒋晓伟:大数据是从批处理开始的,所以很多系统都是从批处理做起,包括Spark。在批处理上Spark有着较深的积累,是一个比较优秀的系统。随着技术的发展,很多原来只有批处理的业务都有了实时的需求,流处理将会变得越来越重要,甚至成为大数据处理的主要场景。Flink把批当作流来处理有个很重要的优点是如果我们在流中引入一个blocking的算子,我们还能接着做批处理特有的优化,这个是以流处理为基础的计算引擎的一大优势。所以我认为在架构上这种设计在批处理上是可以做到最优的,而且比传统的做法还有一些特别的优势,当然工程上的实现也很重要。

:阿里巴巴搜索的流计算和批处理引擎的Blink是基于Apache Flink项目并且在API兼容的。那么在Flink使用过程中有趟过哪些坑?Blink在哪些方面做出了改进?

蒋晓伟:Flink在架构上有很多创新,是非常领先的。但是在工程的实现上有一些不足之处。比如说不同的job的任务可能运行在同一个进程里,这样一个job的问题可能影响其他job的稳定性。Flink的工程实现也不能把集群的资源最合理地利用起来。Blink重新实行了Yarn的结合,完全解决了这些问题。另外Flink是通过checkpoint的机制来保证一致性的,但原有的机制效率比较低,导致在状态较大的时候不可用,Blink大大优化了checkpoint,能够高效地处理很大的状态。稳定性和scalability在生产上都是至关重要的,通过在大集群上的锤炼,Blink解决了一系列这方面的问题和瓶颈,已经成为一个能够支撑核心业务的计算引擎。同时我们扩展了Flink的Streaming SQL层,使得它能够比较完备地支持较复杂的业务。

:是否有反馈Flink社区的计划?以及您认为Flink未来的杀手级应用会是什么?

蒋晓伟:我们正在和Flink的发明者Stephan沟通把Blink反馈回Flink社区,这样才能让社区更强大,而社区更强大我们也会更强大。我们计划的第一步是把Blink的Yarn的实现反馈回去,并且抽象出一个支持不同调度系统的方案。接下来会把我们在checkpoint,稳定性,scalability, 可运维性,SQL等方面的改进和优化都陆续反馈回去。我觉得Flink在流计算上的优势是非常大的,随着在线学习等流计算需求的增长,在这方面Flink一定会大放异彩。

:从Facebook、微软到阿里,技术开发经验丰富。那么对于技术开发者的成长,有哪些建议或者经验分享?以及推荐一本最喜欢的技术书籍。

蒋晓伟:我觉得在学习中和工作很重要的一点是遇到任何问题一定要刨根问底,不要停留在现象和一些浅层次的直观的原因上,一定要找到本质。一个比较好的判定标志是你能不能一句话给别人讲清楚。要做到这个可能会让你一开始花更多的时间,甚至觉得自己学得比别人慢很多,但是你学过的每个东西都是完全吃透的,而很多东西的原理是相通的,在一段时间的积累后你会发现学任何新东西就像看说明书一样了。书我还真推荐不了,因为我一般是有问题现查,反正是说明书。



提示:欢迎将信息图转发给感兴趣朋友,请提前准备问题,以便在线交流。

议题:《Blink计算引擎》

议题简介:Blink是阿里巴巴搜索的流计算和批处理引擎。它基于Apache Flink项目并且在API和它上兼容。本次分享将会介绍阿里巴巴为了能够满足业务需求在Flink上做的一系列改进。

分享嘉宾:蒋晓伟

嘉宾简介:阿里搜索事业部资深搜索专家,蒋晓伟2014年底加入阿里,现在负责搜索工程的数据团队。在加入阿里前曾经就职于西雅图的脸书。负责过调度系统,Timeline Infra和Messenger的项目。在微软的SQL Server引擎担任过Principal Engineer,负责关系数据库的架构工作。



附图:阿里巴巴在线技术峰会整体议程

峰会统一报名链接:

时间: 2024-11-03 07:38:39

阿里蒋晓伟谈流计算和批处理引擎Blink,以及Flink和Spark的异同与优势的相关文章

【阿里在线技术峰会】蒋晓伟:Blink计算引擎

本文根据阿里资深搜索专家蒋晓伟在首届阿里巴巴在线峰会上的分享整理而成. 此次分享的重点是Blink计算引擎,它是阿里巴巴搜索的流计算和批处理引擎.相比于Flink,在上层,Blink具有批和流一体化的完备Table API,使得其能够支撑各类业务需求:在底层,Blink重新开发了兼容Flink以及生态的Runtime,实现了流处理和批处理完美的统一. 直播视频: (点击图片查看视频) 幻灯片下载:点此进入 以下为整理内容. 搜索文档的创建和更新 要建立一个搜索系统,首先需要创建搜索文档,具体的创

阿里技术高P访谈之“呆萌”程序员蒋晓伟为何从Facebook到阿里巴巴

跟蒋晓伟约在一个下午进行访谈,他的花名叫量仔,这个名号让笔者的第一感觉是"高富帅".然而,当见到本尊之后,才发现他完全就是一个"呆萌"版的程序员,这也印证了其在阿里巴巴内网上的标签--"头像蛮萌的".   蒋晓伟在美国待了近20年,按照他的话说,自己都"待得有点傻"了.思乡心切的他想要回家.   然而,从未在中国公司待过,且美国盛行着一些流言--国内的人都是"人精",情商特别高,而且中国公司"99

阿里云计算能力再次飞跃 流计算2.0每秒峰值达千万QPS

10月12日,阿里巴巴集团副总裁周靖人在云栖大会上发布了阿里云在大数据计算能力上的新突破:将BigBench数据规模扩展到100T:流计算2.0每秒峰值达千万QPS,整体链路延时亚秒级:E-MapReduce对比同类产品平均性能提升3倍. 周靖人说,数据是机器智能创新的基础,拥有充沛的计算能力才能全面释放数据的价值.我们希望通过不断的释放阿里云的计算红利,帮助开发者抓住更多市场机遇. BigBench全球首次达到100TB TPCx-BigBench是大数据端到端真实复杂的业界领先测试基准,目前

超越批处理的世界:流计算

今日,流式数据处理是大数据里的很重要一环.原因有不少,其中包括: 商业(竞争)极度渴望更快的数据,而转换成流计算则是一个好的方法来降低延迟. 海量的.无穷数据集在现在的商业环境里变的越来越常见,而用专门设计来处理这样数据的系统来应对这些数据则更为容易. 在数据到达时就对他们进行处理能够更加平均地把负载进行均衡,取得更好的一致性和更可预测的计算资源消耗. 尽管业务驱动带来了对流计算兴趣的猛增,但绝大部分现有的流计算系统相比于批处理还不够成熟,而后者已经产生了很多令人激动的.多产的应用. 作为从事海

阿里中间件蒋江伟(小邪)谈RocketMQ开源:感恩社区

RocketMQ开源 昨天,我们将分布式消息中间件RocketMQ捐赠给了开源软件基金会Apache.孵化成功后,RocketMQ或将成为国内首个互联网中间件在Apache上的顶级项目. 消息一出,本以为群众的反应是这样的: 然而事实上,群众的反应是这样的 今天,特别邀请到阿里巴巴中间件(Aliware)技术研究员蒋江伟(花名:小邪)跟大家分享一下RocketMQ开源的前世今生. Q:能否简单介绍下RocketMQ的历史 A:早在2007年,阿里巴巴中间件团队就自主研发了Notify消息中间件,

阿里研究员蒋江伟:双十一背后的分布式技术

2016阿里技术论坛于4月15日在清华大学举办,主旨是阐述阿里对世界创新做出的贡献.阿里巴巴集团技术委员会主席王坚,阿里巴巴集团首席技术官(CTO)张建锋(花名:行癫),阿里巴巴集团首席风险官(CRO)刘振飞(花名:振飞),蚂蚁金服首席技术官(CTO)程立(花名:鲁肃)以及来自阿里巴巴集团各部门多位技术大咖齐聚一堂,与莘莘学子分享阿里的技术梦想. 在下午的<电商技术:零到三万亿,从未停止的技术创新>分论坛上,阿里巴巴研究员蒋江伟(花名:小邪)发表了题为<零点之战,双十一背后的分布式技术&

阿里流计算平台开发实例之电商双11实时计算

由于之前没写过博客之类的文章,所以这次写也是心中揣揣,也是由于这个项目间没有找到相关的一些文档,当时就想着完成后写一个出来,如果有写的不周到的地方,请联系我改正,谢谢. 一. 项目案例 用户商业模式含盖电商零售与加盟店批发零售,本次主要业务需求在于淘宝双11期间能实时计算用户所关注的一些指标数据,如:订单数.订单金额.商品SKU数.订单来源地.商品排名等等. 基于这些指标需求,除了要达到实时的要求以外,还需要具备适当的展现图设计,本次使用的是阿里云的DATAV,提供饼状图占比分析.商品与类目数据

云端流计算、在线业务、实时分析 闭环设计 - 阿里云RDS、HybridDB for PostgreSQL最佳实践

背景 水的流动汇成江河大海,孕育生命,形成大自然生态.数据流动,推进社会进步,拓展业务边界. <从人类河流文明 洞察 数据流动的重要性> 以某淘系业务案例展开,看看用户如何利用阿里云RDS PostgreSQL,HybridDB for PostgreSQL,海量对象存储OSS,打造一个从流计算到在线业务,再到数据分析和挖掘的业务,发挥数据的价值,拓展业务的边界. 业务简介 一个电商业务通常会涉及 商家.门店.物流.用户.支付渠道.贷款渠道.商品.平台.小二.广告商.厂家.分销商.店主.店员.

阿里云大数据利器之-使用sql实现流计算做实时展现业务( flume故障转移版 )

实时业务处理的需求越来越多,也有各种处理方案,比如storm,spark等都可以.那以数据流的方向可以总结成数据源-数据搜集-缓存队列-实时处理计算-数据展现.本文就用阿里云产品简单实现了一个实时处理的方案. 一,总体架构 按照数据流向 数据采集:flume(配置故障转移) 缓存队列:datahubhttps://help.aliyun.com/product/53345.html?spm=5176.7618386.3.4.cigK2v 数据计算:阿里流计算(StreamCompute)http