内容简介:大数据应用中,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年,爱上基础软件、管理软件,以及国产化系统
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Designing for Emotion
Aarron Walter / Happy Cog / 2011-10-18 / USD 18.00
Make your users fall in love with your site via the precepts packed into this brief, charming book by MailChimp user experience design lead Aarron Walter. From classic psychology to case studies, high......一起来看看 《Designing for Emotion》 这本书的介绍吧!