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

结论:

  1. 由于spark 和Flink都可以基于YARN的方式部署,共用了hadoop生态的HDFS,YARN组件,降低了基础平台的运维工作量。同时Flink的毫秒级延迟实时计算能力和spark秒级延迟实时计算能力是一种相互补充。Flink和spark形成互补且竞争关系。
  2. Flink 在 Mlib,SQL 支持方面都有支持,功能方面和spark竞争关系,都是朝着生态方向发展。不过都可以基于相同的底层平台,大家切换和相互替换的成本都不高。
  3. 虽然storm的也可以基于yarn部署,但这不是其主流使用场景,所以在大数据基础平台方案中Flink可以最终替换的storm平台。

Spark技术的总结 以及同storm,Flink技术的对比的更多相关文章

  1. Spark/Storm/Flink

    https://www.cnblogs.com/yaohaitao/p/5703288.html  Spark Streaming与Storm的应用场景 对于Storm来说:1.建议在那种需要纯实时, ...

  2. 论文阅读计划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] 简介:雅虎发布的一份各种流处理引擎的基准 ...

  3. 20年硅谷技术牛人到访DataPipeline谈:技术如何与业务平衡发展

    导读:技术人员的常态是“左手支持业务签单,右手提升系统性能”,却经常陷入技术和业务该如何平衡发展的困惑?今天,且听一位硅谷牛人分享他的平衡之道. 以个人名誉申请31个国内外技术和产品专利,中国最佳CT ...

  4. 20151028整理罗列某种开发所包括对技术(技术栈),“较为全面”地表述各种技术大系的图表:系统开发技术栈图、Web前端技术栈图、数据库技术栈图、.NET技术栈图

    ———————————— 我的软件开发生涯 (10年开发经验总结和爆栈人生) 爆栈人生 现在流行说全栈.每种开发都有其相关的技术.您是否觉得难以罗列某种开发所包括对技术(技术栈)呢?   您是否想过: ...

  5. JAVAEE——淘淘商城第一天:电商行业的背景和技术特点,商城的介绍、技术的选型、系统架构和工程搭建

    1. 学习计划 1.电商行业的背景. 2.电商行业的技术特点 3.商城的介绍 a) 常用的名词介绍 b) 系统功能介绍 4.淘淘商城的系统架构 a) 传统架构 b) 分布式架构 c) 基于服务的架构 ...

  6. 搞懂分布式技术21:浅谈分布式消息技术 Kafka

    搞懂分布式技术21:浅谈分布式消息技术 Kafka 浅谈分布式消息技术 Kafka 本文主要介绍了这几部分内容: 1基本介绍和架构概览 2kafka事务传输的特点 3kafka的消息存储格式:topi ...

  7. Storm笔记——技术点汇总

    目录 概况 手工搭建集群 引言 安装Python 配置文件 启动与测试 应用部署 参数配置 Storm命令 原理 Storm架构 Storm组件 Stream Grouping 守护进程容错性(Dae ...

  8. storm相关技术

    There are two kinds of nodes on a Storm cluster: the master node and the worker nodes. 有两种节点,主节点和wor ...

  9. 【CSDN人物访谈】蒋守壮分享他的技术成长之路以及对Hive技术的解读与思考

    结缘大数据技术 CSDN:请简单地介绍一下自己. 蒋守壮:首先非常感谢CSDN能够给我这次被专访的机会,可以让我重新审视自己的职业发展历程,也希望能够帮助一些同行的朋友们.目前就职万达网络科技集团有限 ...

随机推荐

  1. 利用sql注入

    INSERT查询中实现注入攻击 1. 思路就是在含有insert语句的页面插入目标值信息.经常包含的是一个子查询. 2. 注意在insert过程中,左边的注入点和右边的注入点会有不同 3. 在mysq ...

  2. Python网络连接

    import appuifw as ui import httplib from os import abort uia=ui.app uin=ui.note uiq=ui.query e32=ui. ...

  3. storm集群搭建

    安装环境: 虚拟操作系统:centOS7 64位  2台 IP地址为192.168.1.10   192.168.1.11 内存:1GB内存 zookeeper版本 :3.4.6 Storm版本:0. ...

  4. AOP 之 6.1 AOP基础(拾陆)

    6.1.1  AOP是什么 考虑这样一个问题:需要对系统中的某些业务做日志记录,比如支付系统中的支付业务需要记录支付相关日志,对于支付系统可能相当复杂,比如可能有自己的支付系统,也可能引入第三方支付平 ...

  5. Android 富文本框实现 RichEditText

    Android系统自带控件没有富文本框控件,如果想写一封带格式的邮件基本上不可能,EdtiText只有默认一种格式,显示不能滿足要求,!!正好项目需要研究了一下,开发了此控件,现将一些源代码开放一下, ...

  6. HDOJ2005-第几天?

    Problem Description 给定一个日期,输出这个日期是该年的第几天.   Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input , ...

  7. Day-1:初识开发板与基础知识

    买的这款51,ARM,AVR三合一的单片机,也不知道后面具体使用会不会有问题,先玩玩看吧. ------------------------------------------------------ ...

  8. ReactNative 4Android源码分析二: 《JNI智能指针之实现篇》

    文/Tamic http://blog.csdn.net/sk719887916/article/details/53462268 回顾 上一篇介绍了<ReactNative4Android源码 ...

  9. [分享]Active-HDL 9.2 安装

    Download 点击下载Active-HDL 9.2 How to Install ? 解压后依次进行以下操作 1.运行Active_HDL_9.2sp1_main_setup.exe,允许程序所有 ...

  10. sql删除重复记录

    DELETE E FROM t E where E.id> ( SELECT MIN(X.id) FROM t X WHERE X.name = E.name );