python 流式计算框架_流式计算的三种框架:Storm、Spark和Flink
我们知道,大数据的计算模式主要分为批量计算(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相关推荐
- 流式大数据处理的三种框架:Storm,Spark和Samza
2019独角兽企业重金招聘Python工程师标准>>> 许多分布式计算系统都可以实时或接近实时地处理大数据流.本文将对三种Apache框架分别进行简单介绍,然后尝试快速.高度概述其异 ...
- Storm与Spark、Hadoop三种框架对比
目录 Storm与Spark.Hadoop三种框架对比 一.Storm与Spark.Hadoop三种框架对比 二.hadoop的应用业务分析 二.浅谈Hadoop的基本原理 Hadoop与Storm的 ...
- python语言包含的错误,Python语言程序中包含的错误,一般分为三种,以下____________不是其中的一种...
Python语言程序中包含的错误,一般分为三种,以下____________不是其中的一种 答:编译错误 人体体温能自动调控在37度,其原因是( ). 答:人体内产生的热能是分批放出的 人体内有完善的 ...
- 联邦学习的基本概念、三种框架和应用场景
联邦学习的基本概念.三种框架和应用场景 前言 本文主要总结记录了联邦学习的基本概念.三种基本框架及其应用场景,下篇将从威胁模型和攻防现状入手介绍联邦学习的安全隐私现状- 一.提出背景 需求: 人工智能 ...
- java bean 工厂模式_Spring框架通过工厂创建Bean的三种方式实现
工厂模式 Spring中bean的创建,默认是框架利用反射new出来的bean实例.有时候也会有一些复杂的情况. 假设有一个飞机,属性如下,现在需要造很多同型号的飞机,那么唯一需要改变的属性只有Dri ...
- Python找出列表中出现次数最多的元素三种方式
通过三种方式给大家介绍,具体详情如下所示: 方式一: 原理:创建一个新的空字典,用循环的方式来获取列表中的每一个元素,判断获取的元素是否存在字典中的key,如果不存在的话,将元素作为key,值为列表中 ...
- dropdownlist ajax联动,asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例...
本文主要列举了省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例.前段时间需要作一个的Web前端应用,需要用多个框架,一个典型的应用场景是省市三级 ...
- 流式计算的三种框架:Storm、Spark和Flink
我们知道,大数据的计算模式主要分为批量计算(batch computing).流式计算(stream computing).交互计算(interactive computing).图计算(graph ...
- python流式下载处理_流式下载 - 对象存储 OSS - 阿里云
如果要下载的文件太大,或者一次性下载耗时太长,您可以通过流式下载,一次处理部分内容,直到完成文件的下载. 以下代码用于流式下载文件: # -*- coding: utf-8 -*- import os ...
最新文章
- 政府网站公祭日,如何使网站整体变灰
- 自学python爬虫要多久-初学Python爬虫要学多久?原来这么快
- svn教程----权限管理
- java get 空指针_Java 中空指针处理方法
- Java日期格式化SimpleDateFormat
- 在 CentOS 上安装和配置 Xen 虚拟化
- LY.JAVA面向对象编程.内存图
- 浏览器默认事件,事件监听,事件委托
- phpexcel导入超过1W行导入出错
- python数据框添加一列无列名_Pandas只使用列名创建空数据框
- pvs-stdio ue4_PlatformIO中的PVS-Studio集成
- 预测模型如何改进自动化决策
- 异常点检测算法(三)Replicator Neural Networks
- Hibernate 中出现表名(XXX) is not mapped 问题
- HTMLCSS 【三】-- TABLES, DIVS, AND SPANS
- 谓词表示法求解农夫、狼、山羊、白菜问题(个人理解)
- Excel所有批注相关的操作都在这里了。
- eval函数 c语言,matlab中eval函数的用法
- 吉林大学软件学院2021级计算机组成原理期末50道简答题
- qdialog 圆角_Qt 的一些心得(背景设置,圆角,半透明)
热门文章
- 巧妙喝水打败多种疾病
- 10 步让你成为更优秀的程序员
- You can‘t specify target table ‘XXX‘ for update in FROM clause
- VS Code (visual studio code) VSC 编辑器(微软出品,js开发的编辑器)
- Factorials 阶乘
- 13,反转链表《剑指offer》
- bootstrap 解决弹出窗口(modal) 常见问题
- Elasticsearch的前后台运行与停止(tar包方式)
- 跨越请求,关于后端session会话丢失的解决办法(转载)
- extjs5(05--主界面上加入顶部和底部区域)