阿里开源Blink背后的成功“套路”

栏目: 编程工具 · 发布时间: 5年前

内容简介:大数据应用中,Hadoop占据非常重要的地位,运行在其上的大数据应用也很多。但是Hadoop在批处理方面的强大无法掩盖其在实时处理以及流处理方面的缺憾。同时Hadhoop核心组件——MapReduce、Hive和HDFS与边缘组件的边界正在变得越来越清晰,Spark、Flink正在逐渐成长,生态渐渐庞大,可供选择的组件越来越多,引领着实时计算的发展。

阿里云开源Blink,大数据实时计算进入快车道

大数据应用中,Hadoop占据非常重要的地位,运行在其上的大数据应用也很多。

但是Hadoop在批处理方面的强大无法掩盖其在实时处理以及流处理方面的缺憾。

同时Hadhoop核心组件——MapReduce、Hive和HDFS与边缘组件的边界正在变得越来越清晰,Spark、Flink正在逐渐成长,生态渐渐庞大,可供选择的组件越来越多,引领着实时计算的发展。

其实,实时计算正处于上升期,Google、Intel、IBM等国际巨头都在积极布局。阿里从2015年开始对Flink开源大数据流处理引擎进行改造,并将Flink的计算能力扩大数倍,推出内部版Blink。阿里在Flink上的重磅押注将成为其未来的核心竞争力之一。

果然,根据中国软件网1月28日报道,阿里云正式对外宣布,已开源实时计算平台Blink( Blink开源项目地址:https://github.com/apache/flink/tree/blink)。Blink能将计算延迟降低到人类无法感知的毫秒级,浏览网页的时候,你只是眨了一下眼睛,处理的信息已经刷新了17亿次。

从Spark到Flink:天地如此广阔 

后来者的Spark和Flink正在弥补Hadoop在实时处理方面的劣势,在大数据市场分得了一方天下。

Spark在内存中运行速度比Hadoop快100倍,在磁盘上运行速度快10倍。Spark在机器学习应用中的速度同样更快。

那么 Flink 和现在流行的Spark 到底有什么异同呢?

Flink 是一个面向分布式数据流处理和批量数据处理的开源计算平台。与Spark类似,两者都希望提供一个统一功能的计算平台,都在尝试建立一个统一的平台以运行批量、流式、交互式、图处理、机器学习等应用。

虽然目标非常类似,但是 Flink在实现上和Spark却有很大的不同,Flink 从另一个视角看待流处理和批处理,将二者统一起来:Flink完全支持流处理,作为流处理看待时输入数据流是无界的;批处理被作为一种特殊的流处理,只是输入数据流被定义为有界的。

专家从框架、 SQL 支持、性能等几方面来对比两者的区别:

框架:Flink和Spark都是基于内存计算、支持实时/批处理等多种计算模式的统一框架,但Flink 的设计理念是 Stream as Platform,而Spark的设计理念是Batch as Platform。

流计算:Spark基于小批量处理,把 Streaming看成是更快的批处理,支持秒级计算,在流计算方面延时较大。而 Flink基于每个事件处理,是真正的流式计算,跟Storm的性能差不多,支持毫秒级计算。

SQL支持:Spark提供SparkSQL,Flink通过Table API提供SQL交互支持。两者相比,Spark对SQL支持更好,而且Spark支持对SQL的优化和扩展等,相关社区非常活跃。而Flink 在SQL支持方面还有很大提升空间。

性能:在计算性能方面,两者都有较好的表现,但Flink支持增量迭代等特性,因此 Flink 具有更好的性能表现。

社区活跃度:Spark社区非常活跃,生态系统越来越完善。而Flink社区活跃度相对较低,但相信随着Flink应用越来越广泛,这一现象会得到改变。

所以,Spark、Flink与Hadoop不是取代,是合作。如果未来用户在部署大数据平台时,选择放弃Spark或者Flink,那就是瞎子下象棋,不识相了!

从Flink到Blink:阿里云如此多娇

而目前市面上,各大公司采取的主流数据解决方案主要为Spark和Flink两种,它们很好地平衡了用户对于批处理和流处理的需求。Spark的技术理念是基于批来模拟流的计算,也就是更擅长有延迟的离线计算,而Flink则完全相反,它采用的是基于流计算来模拟批计,更擅长实时计算。

从目前来看,Spark技术在对海量数据实时性要求高的场景确实显得有些“鸡肋”——食之无味,弃之可惜。与之相比,Flink在实时计算方面显得游刃有余。作为最早布局Flink的公司之一,阿里在2015年就已经开始基于开源版本进行改造和创新,推出内部版本Blink。

据介绍,截止到目前,Blink在批SQL的性能方面已是Flink社区版本性能的10倍以上,在TPCDS场景下Blink的性能也能达到3倍Spark以上。

Blink在阿里内部应用的最多的场景是流计算,但是也有不少业务上线使用了批计算场景。

另外,本次开源Blink代码在 Flink1.5.1 版本之上,加入了大量的新功能,以及在性能和稳定性上的各种优化。

主要贡献包括:阿里巴巴在流计算上积累的一些新功能和性能的优化,一套完整的(能够跑通全部TPC-H/TPC-DS,能够读取 Hive meta和data)高性能Batch SQL,以及一些以提升易用性为主的功能(包括支持更高效的 interactive programming,与zeppelin更紧密的结合,以及体验和性能更佳的Flink web)等。

媒体报道,未来阿里云还将继续贡献Flink在AI、IoT 以及其他新领域的功能和优化。

从内部使用到开源:Blink大数据应用如此绚烂多采

基于 Blink的计算平台于2016年正式上线。截至目前,阿里绝大多数的技术部门都在使用Blink。Blink一直在阿里内部错综复杂的业务场景中锻炼成长。对于内部用户反馈的各种性能、资源使用率、易用性等诸多方面的问题,Blink 都做了针对性的改进。开源之前,Blink在阿里内部应用中得到成功应用。

在2018年双11期间Blink实现了每秒处理17亿次事件的能力,相当于你眨眼一次的0.3秒里,机器已经刷新了5亿次库存。

阿里开源Blink背后的成功“套路”

当然除了技术大考的双11之外,阿里云的ET城市大脑更是实时计算着杭州1300个信号灯路口、4500路视频,保障着交通动脉的通畅。其中,依靠计算,一辆救护车到达医院的速度,平均可以缩短50%,排长队的拥堵以及鸣笛、闯红灯式的开道都将被完美解决。

阿里开源Blink背后的成功“套路”

据阿里云介绍,Blink 永远不会成为一个独立的开源项目,它一定是Flink的一部分。开源后阿里云期望能找到办法,以最快的方式将 Blink merge 到 Flink 中去。Blink 开源只有一个目的,就是希望 Flink 做得更好。

无论是功能还是生态,阿里云都会在 Flink 社区加大投入,也将投入力量做Flink社区的运营,让Flink真正在中国、乃至全世界大规模地使用起来。

因此,从开源的角度而言,对大数据应用和用户而言确实是一个好消息。

作者:刘学习前15年,专注于服务器、存储以及云计算 后5年,爱上基础软件、管理软件,以及国产化系统


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

敏捷软件开发

敏捷软件开发

Robert C.Martin,、Micah Martin / 邓辉、孙鸣 / 人民邮电出版社 / 2010-12 / 79.00元

要想成为一名优秀的软件开发人员,需要熟练应用编程语言和开发工具,更重要的是能够领悟优美代码背后的原则和前人总结的经验——这正是本书的主题。本书凝聚了世界级软件开发大师Robert C. Martin数十年软件开发和培训经验,Java版曾荣获计算机图书最高荣誉——Jolt大奖,是广受推崇的经典著作,自出版以来一直畅销不衰。 不要被书名误导了,本书不是那种以开发过程为主题的敏捷软件开发类图书。在......一起来看看 《敏捷软件开发》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具