首页技术文章正文

什么是实时计算?常用的实计算框架有哪些?【大数据培训】

更新时间:2020-05-29 来源:黑马程序员 浏览量:

近年来,Web应用、网络监控、传感监测、电信金融、生产制造等领域,对数据实时处理的需求不断增强,而Spark中的SparkStreaming实时计算框架就是为了实现对数据实时处理的需求而设计的。在电子商务中,淘宝、京东等网站从用户点击的行为(如加入购物车)和浏览的历史记录中发现用户的购买意图和兴趣,然后通过Sparkstreaming实时计算框架分析处理,为之推荐相关商品,从而有效地提高商品的销售量,同时也增加了用户的满意度,可谓是“一举两得”。下面我们介绍实时计算的框架。

什么是实时计算?

传统的数据处理流程(离线计算),先是收集数据,然后将数据存储到数据库中。当需要某些数据时,可以通过对数据库中的数据做操作,得到所需要的数据,再进行其他相关的处理。这样的处理流程会造成结果数据密集,结果数据密集则数据反馈不及时。在实时搜索的应用场景中,需要实时数据做决策,而传统的数据处理并不能很好地解决问题,这就引出了一种新的数据计算一实时计算,它可以针对海量数据进行实时计算,无论是在数据采集还是数据处理中,都可以达到秒级别的处理要求。

在大数据技术中,有离线计算、批量计算、实时计算以及流式计算,其中,离线计算和实时计算指的是数据处理的延迟;批量计算和流式计算指的是数据处理的方式。

1590732911460_大数据.jpg


常用的实计算框架

目前,业内已经衍生出许多实时计算数据的框架,如 Apache Spark Streaming、ApacheStorn、Apache Flink以及 Yahoo! S4。

1、 Apache Spark Streaming

Apache Spark Streaming即Apache公司免费、开源的实时计算框架。它主要是把输入的数据按时间进行切分,并对切分的数据块进行并行计算处理,处理的速度可以达到秒级别。Netflix公司通过Kaka和SparkStreaming构建了实时引擎,对每天从各种数据源接收到的数十亿数据进行分析,从而完成电影的推荐功能。

2、 Apache Storm

Apache Storm即Twitter公司免费、开源贡献给Apache的一个分布式实时计算系统。它可以简单、高效、可靠地实时处理海量数据,处理数据的速度达到毫秒级别,并可将处理后的结果数据保存到持久化介质中(如数据库、HDFS)。阿里巴巴公司的Jstorm,就是参考ApacheStorn开发的实时计算框架,可以说是Stom的增强版本,在网络IO、线程模型、资源调度、可用性及稳定性上都做了极大的改进,供很多企业使用。


3、 Apache Flink

Apache Flink即Apache公司开源的计算框架。它不仅可以支持离线处理,还可以支持实时处理。由于离线处理和实时处理所提供的SLA(服务等级协议)是完全不相同的,所以离线处理一般需要支持低延迟的保证,而实时处理则需要支持高吞吐、高效率的处理。

4、 Yahoo! S4(Simple Scalable Streaming System)

Yahoo! S4即Yahoo公司开源的实时计算平台。它是通用的、分布式的、可扩展的,并且还具有容错和可插拔能力,供开发者轻松地处理源源不断产生的数据。

1577370495235_学IT就到黑马程序员.gif




猜你喜欢:

机器学习可以应用于哪些领域?

什么是机器学习?

大数据培训之数据可视化教程

分享到:
在线咨询 我要报名
和我们在线交谈!