Spark技术的总结 以及同storm,Flink技术的对比
spark总结
1.Spark的特点:
- 高可伸缩性
- 高容错
- 基于内存计算
- 支持多种语言:java,scala,python,R
- 高质量的算法,比MapReduce快100倍
- 多种调度引擎:可以运行于YARN,Mesos,standalone 等。
2.spark的提供的功能 以及应用场景
| **spark功能模块 ** | 应用场景 |
|---|---|
| RDD | 离线数据处理 |
| Spark SQL, DataFrames and Datasets | 结构化的关系数据运算 |
| Structured Streaming | 结构化流:统一批处理与流处理计算的工具 |
| Spark Streaming | 流数据实时计算 |
| Machine Learning (MLlib) | 机器学习 |
| GraphX | 图数据计算 |
| SparkR | R on Spark |
3.spark重大版本更新

spark2.3.0的重大更新:
1、支持第四种调度引擎 Kubernetes clusters。
2、Structured Streaming 引入了低延迟的连续处理(continuous processing);
spark2.0.0的重大更新:
1、SparkSession:这是一个新入口,取代了原本的SQLContext与HiveContext
2、基于DataFrame的机器学习API将作为主ML API出现;基于RDD的API进入维护模式。
3、spark 自己的标准SQL(Ansi-sql sql-2003标准)解析引擎,同时兼容hive-SQL.
4、数据框(DataFrame)/Dataset (数据集)API的统一。
spark1.6.X的重大更新:
1. 新增Dataset API
2. 使用堆外内存执行SQL,避免GC造成的瓶颈
3. 支持对非标准JSON文件的读操作
4. 支持基于文件的SQL查询。
4. spark-streaming,storm,Flink对比
- 技术特性上的对比:
| **对比项 ** | ** spark-streaming** | ** storm** | flink |
|---|---|---|---|
| 流模式 | 微批处理 | 行处理 / 或者微批处理 | 行处理/或者微批处理 |
| 可靠性 | Exactly-Once | At-Least-Once | Exactly-Once |
| 延迟 | 秒级 | 毫秒级 | 毫秒级 |
| 吞吐量 | 比较高 | 非常高 | 非常高 |
| 容错机制 | Recourd ACKs机制 | 基于RDD的 CheckPoint | CheckPoint |
| 是否有状态 | 是 | 否 | 是 |
| 支持SQL | 支持 | 不支持 | 支持 |
| 与Hadoop兼容性 | 支持HDFS、HBase等数据源 | 不支持 | 支持HDFS、HBase等数据源 |
storm 的任务编程组件是: Topology任务,由spout,bolt组成的DAG 拓扑结构。
spark-streaming任务变成组件:DStream 数据流的个各种处理方法。
spark-streaming 和 Flink 是将Flink Job 转换成 JobGraph -> ExecutionGraph.
- 平台架构上的对比:
| 对比项 | spark-streaming | storm | flink |
|---|---|---|---|
| 系统角色 | driver,executor | Numbius,supervisor,worker | Client,JobManager,Taskmanager |
| 应用名称 | application | Topology | application |
| 组件接口 | DataStream | DStream | spout,bolt |
| 部署方式 | YARN,standalone | numbius-supervisor | YARN, standalone |
结论:
- 由于spark 和Flink都可以基于YARN的方式部署,共用了hadoop生态的HDFS,YARN组件,降低了基础平台的运维工作量。同时Flink的毫秒级延迟实时计算能力和spark秒级延迟实时计算能力是一种相互补充。Flink和spark形成互补且竞争关系。
- Flink 在 Mlib,SQL 支持方面都有支持,功能方面和spark竞争关系,都是朝着生态方向发展。不过都可以基于相同的底层平台,大家切换和相互替换的成本都不高。
- 虽然storm的也可以基于yarn部署,但这不是其主流使用场景,所以在大数据基础平台方案中Flink可以最终替换的storm平台。
Spark技术的总结 以及同storm,Flink技术的对比的更多相关文章
- Spark/Storm/Flink
https://www.cnblogs.com/yaohaitao/p/5703288.html Spark Streaming与Storm的应用场景 对于Storm来说:1.建议在那种需要纯实时, ...
- 论文阅读计划1(Benchmarking Streaming Computation Engines: Storm, Flink and Spark Streaming & An Enforcement of Real Time Scheduling in Spark Streaming & StyleBank: An Explicit Representation for Neural Ima)
Benchmarking Streaming Computation Engines: Storm, Flink and Spark Streaming[1] 简介:雅虎发布的一份各种流处理引擎的基准 ...
- 20年硅谷技术牛人到访DataPipeline谈:技术如何与业务平衡发展
导读:技术人员的常态是“左手支持业务签单,右手提升系统性能”,却经常陷入技术和业务该如何平衡发展的困惑?今天,且听一位硅谷牛人分享他的平衡之道. 以个人名誉申请31个国内外技术和产品专利,中国最佳CT ...
- 20151028整理罗列某种开发所包括对技术(技术栈),“较为全面”地表述各种技术大系的图表:系统开发技术栈图、Web前端技术栈图、数据库技术栈图、.NET技术栈图
———————————— 我的软件开发生涯 (10年开发经验总结和爆栈人生) 爆栈人生 现在流行说全栈.每种开发都有其相关的技术.您是否觉得难以罗列某种开发所包括对技术(技术栈)呢? 您是否想过: ...
- JAVAEE——淘淘商城第一天:电商行业的背景和技术特点,商城的介绍、技术的选型、系统架构和工程搭建
1. 学习计划 1.电商行业的背景. 2.电商行业的技术特点 3.商城的介绍 a) 常用的名词介绍 b) 系统功能介绍 4.淘淘商城的系统架构 a) 传统架构 b) 分布式架构 c) 基于服务的架构 ...
- 搞懂分布式技术21:浅谈分布式消息技术 Kafka
搞懂分布式技术21:浅谈分布式消息技术 Kafka 浅谈分布式消息技术 Kafka 本文主要介绍了这几部分内容: 1基本介绍和架构概览 2kafka事务传输的特点 3kafka的消息存储格式:topi ...
- 深入探索Android热修复技术原理读书笔记 —— 代码热修复技术
在前一篇文章 深入探索Android热修复技术原理读书笔记 -- 热修复技术介绍中,对热修复技术进行了介绍,下面将详细介绍其中的代码修复技术. 1 底层热替换原理 在各种 Android 热修复方案中 ...
- 深入探索Android热修复技术原理读书笔记 —— 资源热修复技术
该系列文章: 深入探索Android热修复技术原理读书笔记 -- 热修复技术介绍 深入探索Android热修复技术原理读书笔记 -- 代码热修复技术 1 普遍的实现方式 Android资源的热修复,就 ...
- Storm笔记——技术点汇总
目录 概况 手工搭建集群 引言 安装Python 配置文件 启动与测试 应用部署 参数配置 Storm命令 原理 Storm架构 Storm组件 Stream Grouping 守护进程容错性(Dae ...
随机推荐
- python 的文件操作
二进制用法 f=open('test.txt','wb') f.write("汉字\r\n".encode('UTF-8')) f.write("hello". ...
- AX_Args
Args args; FormRun formRun; ; args = new Args(); args.name(formstr(FormName)); args.caller(); args.r ...
- Eclipse编辑XML自动提示(zz)
Eclipse编辑XML自动提示 博客分类: j2se XMLEclipseiBATISSpringSQL IED Eclipse Java EE IDE for Web Developers: D ...
- python入门之文件处理
1.读取文件 f=open(file="C:\BiZhi\新建文本文档.txt",mode="r",encoding="utf-8") da ...
- canvas 实现飞碟射击游戏
var canvas = document.getElementById('canvas'); var cxt = canvas.getContext('2d'); // 射击角度 var ang = ...
- 进度条的制作unity
不说了直接上代码: LoadingPanel: using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityE ...
- 2018.01.04 bzoj5291: [Bjoi2018]链上二次求和(线段树)
传送门 线段树基础题. 题意:给出一个序列,要求支持区间加,查询序列中所有满足区间长度在[L,R][L,R][L,R]之间的区间的权值之和(区间的权值即区间内所有数的和). 想题555分钟,写题202 ...
- 2018.10.25 bzoj4350: 括号序列再战猪猪侠(区间dp)
传送门 区间dp好题. 首先我们并不用把右括号拿进来一起dpdpdp,而是直接用左括号来dpdpdp. 然后定义状态fi,jf_{i,j}fi,j表示区间[l,r][l,r][l,r]的合法方案数. ...
- 华为机试-iNOC产品部-杨辉三角的变形
题目描述 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 11 4 10 16 19 16 10 4 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数 ...
- UVaLive 3490 Generator (KMP + DP + Gauss)
题意:随机字母组成一个串,有一个目标串,当这个由随机字母组成的串出现目标串就停止,求这个随机字母组成串的期望长度. 析:由于只要包含目标串就可以停止,所以可以先把这个串进行处理,也就是KMP,然后dp ...