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. 深入探索Android热修复技术原理读书笔记 —— 代码热修复技术

    在前一篇文章 深入探索Android热修复技术原理读书笔记 -- 热修复技术介绍中,对热修复技术进行了介绍,下面将详细介绍其中的代码修复技术. 1 底层热替换原理 在各种 Android 热修复方案中 ...

  8. 深入探索Android热修复技术原理读书笔记 —— 资源热修复技术

    该系列文章: 深入探索Android热修复技术原理读书笔记 -- 热修复技术介绍 深入探索Android热修复技术原理读书笔记 -- 代码热修复技术 1 普遍的实现方式 Android资源的热修复,就 ...

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

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

随机推荐

  1. this高级应用 - 域隔离

    在js环境中,this有很多指向(window.dom.object等),巧妙的利用this,可以有效的防止变量或方法被外界污染,保证代码健壮性,实例如下. demo: <!DOCTYPE ht ...

  2. fastcgi 环境变量例子

    例如请求的url http://172.28.250.184:8099/aa.php?var=ccccc&value=bbbbbb 前两个字节分别代表  变量名长度  和 变量值长度. 0x0 ...

  3. 浅谈System.gc()

      今天巩固给大家讲讲System.gc().Java的内存管理着实给各位编程者带来很大的方便,使我们不再需要为内存分配烦太多神.那么讲到垃圾回收机制,就不得不讲讲System.gc().   先简单 ...

  4. Windows事件日志报表 怎样备份数据库?

  5. day08作业---函数

    '''2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者.'''#学会了 原来 range(len(iter)) 是 从零到len-1 的数的组合 建新放在 ...

  6. delphi 中如何访问另一个类中到私有方法?(转载)

    原始连接 http://rvelthuis.blogspot.tw/2018/01/accessing-private-methods-of-another.html Accessing privat ...

  7. vue2.0 移动端,下拉刷新,上拉加载更多插件 转:

    转自:http://www.cnblogs.com/gmajip/p/7204072.html <template lang="html"> <div class ...

  8. Hadoop3集群搭建之——虚拟机安装

    现在做的项目是个大数据报表系统,刚开始的时候,负责做Java方面的接口(项目前端为独立的Java web 系统,后端也是Java web的系统,前后端系统通过接口传输数据),后来领导觉得大家需要多元化 ...

  9. 2019.01.19 codeforces343D.Water Tree(树剖+ODT)

    传送门 ODTODTODT板子题. 支持子树01覆盖,路径01覆盖,询问一个点的值. 思路:当然可以用树剖+线段树,不过树剖+ODTODTODT也可以很好的水过去. 注意修改路径时每次跳重链都要修改. ...

  10. vue 开发系列(六) 企业微信整合

    概述 手机端程序可以和企业微信进行整合,我们也可以使用企业微信JSSDK功能,实现一些原生的功能. 整合步骤 在整合之前需要阅读 整合步骤. http://work.weixin.qq.com/api ...