热门回答:
老码农来回答这个问题。
Kafka
kafka 是linkedin开源的一款开源的分布式mq消息中间件。现在已经捐献给apache软件基金会(ASF)。具有吞吐量大。低延时。容错性高。扩展性好的特点。在大型数据处理中常扮演数据管道的角色。也就是数据在中转。传输中起到一个管道的作用。类似于水管但是还可以起到缓冲作用。数据流过大也能有效的对数据进行传输。我们项目的日志管道就是Kafka。
实时计算
聊完kafka再聊一下什么是实时计算。实时计算是基于海量数据。进行秒级响应。实时入库。实时分析处理数据的一种大数据计算方式。要求时效性高。常用于网站流量分析、股市分析、天气气候分析等需要实时处理的业务场景。打个比方。就是有PB级别数据不断传递过来。需要立马处理入库分析。与此对应的是离线计算。这些通常是不需要立即处理。我先存起来。慢慢进行分析。或者用到的时候我再分析。说到实时计算。就不能不提流式计算。其实两者没有必然关系。实时强调实时性。流式是一种模型。从一个方向流向其他方向。而且某个点的流处理一次就没了。而且设计是无界的。源源不断。把数据想象成水管里的水就会很好理解这个概念。打开水龙头源源不断流出来。从技术选型来说目前 有Storm、 apache spark 和apache flink 。
storm 是一个专注实时处理的流式数据处理引擎。推特开源。但是因为对数据是行级别处理以及容错。所以效率不高。适合对实时性要求高。数据集不算太大的情况下使用。
spark 是一个高效率、易用性强、通用性强。兼容性好的数据处理引擎。 比Hadoop 要快很多。Spark支持Java、Python和Scala的API。还支持超过几十种高级算法。用户可以快速构建不同的应用 。目前业界用的也最多。方案成熟。资料也非常全。基本一线大厂都有spark海量数据处理平台。但是spark 默认走的是批处理。数据是一批一批处理离线计算的。但是通过 spark stream 流式处理的扩展。使得spark也能进行实时的数据计算。但是底层还是批处理。通过固定的offset偏移量进行实时流式批处理。
flink 是大数据处理的一颗新星。核心是一个流式的数据流执行引擎。其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。基于流执行引擎。Flink提供了诸多更高抽象层的API以便用户编写分布式任务。实现FaaS(函数即服务)是真正意义上的实时计算引擎。目前也是最先进的。但是才火起来。除了一线大厂。小厂是目前是很难玩转的。而且目前资料比较少。还可能有一些坑要踩。但是这些遮挡不了flink的光芒。目前社区十分活跃。而且阿里有魔改版本Blink。常远来看更有前途。
总结
其他观点:
Kafka :
功能完善的分布式流式处理平台。用于发布和订阅、存储及实时地处理大规模流数据。是由Apache软件基金会开发的一个开源流处理平台。由Scala和Java编写。
目前业界有开源不少实时计算引擎。以Apache基金会的两款开源实时计算引擎最受欢迎:Flink、Spark。
Flink:
一款分布式的计算引擎。它可以用来做批处理。即处理静态的数据集、历史的数据集;也可以用来做流处理。即实时地处理一些实时数据流。实时地产生数据的结果;也可以用来做一些基于事件的应用。
Spark:
Spark免费提供Spark Streaming。它使用微批处理进行流式传输。Spark流式计算引擎会定时检查流数据。在连续流处理中。Spark不会启动定时任务。而是启动一组长时间运行的任务。这些任务可以连续读取、处理、写入数据。Spark Streaming的优势在于:
能运行在1000+的结点上。并达到秒级延迟。
使用基于内存的Spark作为执行引擎。具有高效和容错的特性。
能集成Spark的批处理和交互查询。
为实现复杂的算法提供和批处理类似的简单接口。
加米谷大数据培训。6月大数据开发0基础班、提高班。预报名中
相关:Spark Streaming And Kafka:可靠实时计算
https://www.toutiao.com/i6513864038332498435/
您还感兴趣的文章推荐- 想开个店,开什么好呢?资金不多,刚刚创业。谢谢?
- 有什么行业适用于初创业?
- 刚入社会的人想开店,最好开一家什么店?
- 我是一个创业小白,想要开一家店铺,大家有什么好的推荐吗?
- 初次创业,有什么好的建议,请高人指点下?
以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:https://www.wangchuang8.com/260454.html,转载请说明来源于:网创推广网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系进行处理。分享目的仅供大家学习与参考,不代表本站立场。
评论(2)
实时,数据,批处理,引擎,流式,数据处理,开源,分布式,数据流,是一个
没想到大家都对基于Kafka的实时计算引擎如何选择?感兴趣,不过这这篇解答确实也是太好了
老码农来回答这个问题。Kafkakafka 是linkedin开源的一款开源的分布式mq消息中间件。现在已经捐献给ap