1、SparkStreaming的介绍

SparkStreaming 是流式处理框架,是 Spark API 的扩展,支持可扩展、高吞吐量、容错的实时数据流处理,实时数据的来源可以是:Kafka, Flume,Twitter, ZeroMQ 或者 TCP sockets,并且可以使用高级功能的复杂算子来处理流数据。

2、MR&Storm&Spark&flink的区别

MR:针对数据进行处理,没封装高级的算子,自己实现逻辑,没有SQL的流式处理。

Storm:针对实时数据进行处理,是一条一条的数据进行处理的,封装了高级算子,自己实现逻辑,不实现SQL处理数据,吞吐量小。延迟小。

Spark:在spark中的sparkCore中支持批量数据处理,sparkSQL支持SQL处理,SparkStreaming支持流式处理,SparkStreaming封装了高级算子吞吐量大,但是数据处理的延迟较大。

flink:flink支持批量数据的处理,支持SQL处理流式数据,但flink更偏向于实时处理,,也可以使用开窗函数进行批量数据处理,也封装了高级算子吞吐量大。

3、SparkStreaming处理数据原理

receiver task 是 7*24 小时一直在执行,一直接受数据,将一段时间内接收来的数据保存到 batch 中。假设 batchInterval 为 5s,那么
会将接收来的数据每隔 5 秒封装到一个 batch 中,batch 没有分布式计算特性,这一个 batch 的数据又被封装到一个 RDD 中,RDD 最终封装到一个 DStream 中。

4、Driver HA

因为SparkStreaming是7*24小时运行的,Driver 只是一个简单的进程,有可能挂掉,所以实现 Driver 的 HA 就有必要(如果使用的 Client 模式就无法实现 Driver HA ,这里针对的是 cluster 模式)。Yarn 平台 cluster 模式提交任务,AM(AplicationMaster)相当于 Driver,如果挂掉会自动启动AM。这里所说的 DriverHA 针对的是 Spark standalone 和 Mesos 资源调度的情况下。实现 Driver 的高可用有两个步骤:
第一:提交任务层面,在提交任务的时候加上选项 --supervise,当 Driver挂掉的时候会自动重启 Driver。
第二:代码层面,使用 JavaStreamingContext.getOrCreate(checkpoint 路径,JavaStreamingContextFactory)
Driver 中元数据包括:

  1. 创建应用程序的配置信息。
  2. DStream 的操作逻辑。
  3. job 中没有完成的批次数据,也就是 job 的执行进度。

5、kafka介绍

Kafka 是一个高吞吐的分布式消息队列系统。特点是生产者消费者模式,先进先出(FIFO)保证顺序,自己不丢数据,默认每隔 7 天清理数据。消息列队常见场景:系统之间解耦合、峰值压力缓冲、异步通信。

6、kafka的生产者和消费者模型

kafka生产者数据的特点:
1、topic由多个partition组成,partition内部是有序的,partition多是为了并发生产数据。
2、当数据是kv格式的,则按照hash值和partition个数取模决定去哪个分区。
3、非kv格式则按轮询方式。
4、一个partition对应一个brocker,一个brocker管多个partition,数据写入文件中,而不是存在内存,数据默认一周删除,而不是消费完就删除。
kafka消费者数据的特点:
1、每个consumer都有对应的group
2、一个topic中每个partition,只能一组消费者的一个consumer消费使用
3、不同的消费者组之间消费同一组topic组之间不影响。
4、同一个消费者组内的不同消费者消费相同topic时,数据只能消耗一次。
5、同一个topic中每一个分区只能被一个消费者组内同一个消费者连接消费。

7、kafka特点

1、生产者消费者模型
2、高性能、吞吐大
3、持久性:消息直接持久化在普通磁盘上且性能好。
4、分布式:数据副本余,流量负载均衡可扩展
5、灵活

Spark分布式计算框架之SparkStreaming+kafka相关推荐

  1. 大数据Hadoop、Hive、Kafka、Hbase、Spark等框架面经

    大数据组件 学习路线: 阶段1:学习绿色箭头的知识点: 阶段2:学习红色箭头的知识点: 阶段3:学习蓝色箭头的知识点: 1 Hadoop 1.1 Hadoop1.x与Hadoop2.x的区别 1.2 ...

  2. 大数据理论与实践5 分布式计算框架MapReduce和Spark

    MapReduce和Spark MapReduce 简介 原理示例 基本概念 作业运行模式 Spark 简介 概念 编程模型 RDD RDD操作(Operator) RDD依赖(Dependency) ...

  3. 人机交互系统(2.1)——深度学习分布式计算框架

    1 为什么需要分布式计算? 在这个数据爆炸的时代,产生的数据量不断地在攀升,从GB,TB,PB到ZB.挖掘其中数据的价值也是企业在不断地追求的终极目标.但是要想对海量的数据进行挖掘,首先要考虑的就是海 ...

  4. sparkStreaming+kafka SparkException: java.nio.channels.ClosedChannelException异常报错

    在运行sparkStreaming+kafka的时候报错 java io报错, 如果broker-list的端口不对或者kafka服务端未启动,会遇到以下错误: Exception in thread ...

  5. Mars——基于矩阵的统一分布式计算框架

    背景 Python Python 是一门相当古老的语言了,如今,在数据科学计算.机器学习.以及深度学习领域,Python 越来越受欢迎. 大数据领域,由于 hadoop 和 spark 等,Java ...

  6. 139.深度学习分布式计算框架-2

    139.1 Spark MLllib MLlib(Machine Learnig lib) 是Spark对常用的机器学习算法的实现库,同时包括相关的测试和数据生成器. MLlib是MLBase一部分, ...

  7. 分布式系列之分布式计算框架Flink深度解析

    Flink作为主流的分布式计算框架,满足批流一体.高吞吐低时延.大规模复杂计算.高可靠的容错和多平台部署能力.本文简要介绍了Flink中的数据流处理流程以及基本部署架构和概念,以加深对分布式计算平台的 ...

  8. Ray - 面向增强学习场景的分布式计算框架

    如果关注这个领域的同学可能知道,Ray其实在去年就已经在开源社区正式发布了,只不过后来就一直没有什么太大动静,前段时间也是因为机缘巧合,我又回头学习了解了一下,顺便总结如下: Ray是什么? Ray ...

  9. 分布式计算框架Hadoop核心组件

    Hadoop作为成熟的分布式计算框架在大数据生态领域已经使用多年,本文简要介绍Hadoop的核心组件MapReduce.YARN和HDFS,以加深了解. 1.Hadoop基本介绍 Hadoop是分布式 ...

最新文章

  1. C语言鹦鹉学舌1,鹦鹉学舌真是简单的学舌吗?为什么他们清晰的知道在哪用哪些词...
  2. php ismethod,结合php类三种属性说明is_callable和method_exists简单区别
  3. 8s存储最佳方案_MaxiDi, 意大利:自动化物流解决方案
  4. String.Format用法
  5. 【LeetCode】【字符串】题号:412. Fizz Buzz
  6. getTime()的兼容性(ios)
  7. 解决ajax跨域的方法原理详解之Cors方法
  8. 听鬼哥说虐心的2048简化过程
  9. shell机器人企业微信通知
  10. SIM900A 开发板连线图
  11. linux 10247 java_linux kubernetes
  12. C语言——函数(上)
  13. Vue3 理解 toRef 和 toRefs 的作用、用法、区别
  14. android 世界各国英文简写代码 资源文件
  15. 【比特鹏哥C语言_1.初识C语言】
  16. 建筑业企业施工劳务资质备案申请条件及劳务分包的种类
  17. 现货白银怎么换算纸白银
  18. mysql vacuum_Vacuum 和 Vacuum Full 的处理过程
  19. java七大排序算法代码
  20. linux可视化编程,Kylix带你走进Linux可视化编程世界

热门文章

  1. SpringBoot 亚马逊Simple邮件发送
  2. ADFS 概念与基本开发介绍 (1)
  3. 岁月温柔-7 妈妈的烦恼 蛋白粉涨价
  4. APP 专项测试之兼容性测试
  5. python,jsonschema, marshmallow, “None is not of type ‘string‘
  6. 搭建Ethereum以太坊测试网络Rinkeby节点
  7. winrar v3.8 的注册码
  8. win10 修复打印机服务器,Windows Update修复了打印机错误(win10/win7)
  9. AI初学者必看的4个顶级人工智能领域岗位
  10. 性能测试报告(方案)模板