内容简介:大数据应用中,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亿次库存。
当然除了技术大考的双11之外,阿里云的ET城市大脑更是实时计算着杭州1300个信号灯路口、4500路视频,保障着交通动脉的通畅。其中,依靠计算,一辆救护车到达医院的速度,平均可以缩短50%,排长队的拥堵以及鸣笛、闯红灯式的开道都将被完美解决。
据阿里云介绍,Blink 永远不会成为一个独立的开源项目,它一定是Flink的一部分。开源后阿里云期望能找到办法,以最快的方式将 Blink merge 到 Flink 中去。Blink 开源只有一个目的,就是希望 Flink 做得更好。
无论是功能还是生态,阿里云都会在 Flink 社区加大投入,也将投入力量做Flink社区的运营,让Flink真正在中国、乃至全世界大规模地使用起来。
因此,从开源的角度而言,对大数据应用和用户而言确实是一个好消息。
作者:刘学习前15年,专注于服务器、存储以及云计算 后5年,爱上基础软件、管理软件,以及国产化系统
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Node.js in Action
Mike Cantelon、Marc Harter、TJ Holowaychuk、Nathan Rajlich / Manning Publications / 2013-11-25 / USD 44.99
* Simplifies web application development * Outlines valuable online resources * Teaches Node.js from the ground up Node.js is an elegant server-side JavaScript development environment perfect for scal......一起来看看 《Node.js in Action》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
RGB CMYK 转换工具
RGB CMYK 互转工具