我们知道,大数据的计算模式主要分为批量计算(batch computing)、流式计算(stream computing)、交互计算(interactive computing)、图计算(graph computing)等。其中,流式计算和批量计算是两种主要的大数据计算模式,分别适用于不同的大数据应用场景。

目前主流的流式计算框架有Storm、Spark Streaming、Flink三种,其基本原理如下:

Apache Storm

在Storm中,需要先设计一个实时计算结构,我们称之为拓扑(topology)。之后,这个拓扑结构会被提交给集群,其中主节点(master node)负责给工作节点(worker node)分配代码,工作节点负责执行代码。在一个拓扑结构中,包含spout和bolt两种角色。数据在spouts之间传递,这些spouts将数据流以tuple元组的形式发送;而bolt则负责转换数据流。

Apache Spark

Spark Streaming,即核心Spark API的扩展,不像Storm那样一次处理一个数据流。相反,它在处理数据流之前,会按照时间间隔对数据流进行分段切分。Spark针对连续数据流的抽象,我们称为DStream(Discretized Stream)。 DStream是小批处理的RDD(弹性分布式数据集), RDD则是分布式数据集,可以通过任意函数和滑动数据窗口(窗口计算)进行转换,实现并行操作。

Apache Flink

针对流数据+批数据的计算框架。把批数据看作流数据的一种特例,延迟性较低(毫秒级),且能够保证消息传输不丢失不重复。

Flink创造性地统一了流处理和批处理,作为流处理看待时输入数据流是无界的,而批处理被作为一种特殊的流处理,只是它的输入数据流被定义为有界的。Flink程序由Stream和Transformation这两个基本构建块组成,其中Stream是一个中间结果数据,而Transformation是一个操作,它对一个或多个输入Stream进行计算处理,输出一个或多个结果Stream。

这三种计算框架的对比如下:

参考文章:

相关阅读:

推荐系统相关术语知多少

如欲了解更多,欢迎搜索并关注先荐小助手微信号(recsysfc)。

本账号为第四范式智能推荐产品先荐的官方账号。账号立足于计算机领域,特别是人工智能相关的前沿研究,旨在把更多与人工智能相关的知识分享给公众,从专业的角度促进公众对人工智能的理解;同时也希望为人工智能相关人员提供一个讨论、交流、学习的开放平台,从而早日让每个人都享受到人工智能创造的价值。先荐_智能推荐系统_个性化推荐专家​www.tuijianxitong.cn

python 流式计算框架_流式计算的三种框架:Storm、Spark和Flink相关推荐

  1. 流式大数据处理的三种框架:Storm,Spark和Samza

    2019独角兽企业重金招聘Python工程师标准>>> 许多分布式计算系统都可以实时或接近实时地处理大数据流.本文将对三种Apache框架分别进行简单介绍,然后尝试快速.高度概述其异 ...

  2. Storm与Spark、Hadoop三种框架对比

    目录 Storm与Spark.Hadoop三种框架对比 一.Storm与Spark.Hadoop三种框架对比 二.hadoop的应用业务分析 二.浅谈Hadoop的基本原理 Hadoop与Storm的 ...

  3. python语言包含的错误,Python语言程序中包含的错误,一般分为三种,以下____________不是其中的一种...

    Python语言程序中包含的错误,一般分为三种,以下____________不是其中的一种 答:编译错误 人体体温能自动调控在37度,其原因是( ). 答:人体内产生的热能是分批放出的 人体内有完善的 ...

  4. 联邦学习的基本概念、三种框架和应用场景

    联邦学习的基本概念.三种框架和应用场景 前言 本文主要总结记录了联邦学习的基本概念.三种基本框架及其应用场景,下篇将从威胁模型和攻防现状入手介绍联邦学习的安全隐私现状- 一.提出背景 需求: 人工智能 ...

  5. java bean 工厂模式_Spring框架通过工厂创建Bean的三种方式实现

    工厂模式 Spring中bean的创建,默认是框架利用反射new出来的bean实例.有时候也会有一些复杂的情况. 假设有一个飞机,属性如下,现在需要造很多同型号的飞机,那么唯一需要改变的属性只有Dri ...

  6. Python找出列表中出现次数最多的元素三种方式

    通过三种方式给大家介绍,具体详情如下所示: 方式一: 原理:创建一个新的空字典,用循环的方式来获取列表中的每一个元素,判断获取的元素是否存在字典中的key,如果不存在的话,将元素作为key,值为列表中 ...

  7. dropdownlist ajax联动,asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例...

    本文主要列举了省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例.前段时间需要作一个的Web前端应用,需要用多个框架,一个典型的应用场景是省市三级 ...

  8. 流式计算的三种框架:Storm、Spark和Flink

    我们知道,大数据的计算模式主要分为批量计算(batch computing).流式计算(stream computing).交互计算(interactive computing).图计算(graph ...

  9. python流式下载处理_流式下载 - 对象存储 OSS - 阿里云

    如果要下载的文件太大,或者一次性下载耗时太长,您可以通过流式下载,一次处理部分内容,直到完成文件的下载. 以下代码用于流式下载文件: # -*- coding: utf-8 -*- import os ...

最新文章

  1. 政府网站公祭日,如何使网站整体变灰
  2. 自学python爬虫要多久-初学Python爬虫要学多久?原来这么快
  3. svn教程----权限管理
  4. java get 空指针_Java 中空指针处理方法
  5. Java日期格式化SimpleDateFormat
  6. 在 CentOS 上安装和配置 Xen 虚拟化
  7. LY.JAVA面向对象编程.内存图
  8. 浏览器默认事件,事件监听,事件委托
  9. phpexcel导入超过1W行导入出错
  10. python数据框添加一列无列名_Pandas只使用列名创建空数据框
  11. pvs-stdio ue4_PlatformIO中的PVS-Studio集成
  12. 预测模型如何改进自动化决策
  13. 异常点检测算法(三)Replicator Neural Networks
  14. Hibernate 中出现表名(XXX) is not mapped 问题
  15. HTMLCSS 【三】-- TABLES, DIVS, AND SPANS
  16. 谓词表示法求解农夫、狼、山羊、白菜问题(个人理解)
  17. Excel所有批注相关的操作都在这里了。
  18. eval函数 c语言,matlab中eval函数的用法
  19. 吉林大学软件学院2021级计算机组成原理期末50道简答题
  20. qdialog 圆角_Qt 的一些心得(背景设置,圆角,半透明)

热门文章

  1. 巧妙喝水打败多种疾病
  2. 10 步让你成为更优秀的程序员
  3. You can‘t specify target table ‘XXX‘ for update in FROM clause
  4. VS Code (visual studio code) VSC 编辑器(微软出品,js开发的编辑器)
  5. Factorials 阶乘
  6. 13,反转链表《剑指offer》
  7. bootstrap 解决弹出窗口(modal) 常见问题
  8. Elasticsearch的前后台运行与停止(tar包方式)
  9. 跨越请求,关于后端session会话丢失的解决办法(转载)
  10. extjs5(05--主界面上加入顶部和底部区域)