### Spark Streaming Programming Guide 笔记 #### 概览 **Spark Streaming** 是 Apache Spark 的一个模块,它能够处理实时的数据流。与传统的批量处理不同,Spark Streaming 接收实时输入数据流,并将其划分为一系列小批次(即离散化流或 DStream),然后通过 Spark 引擎对这些数据进行处理,最终生成结果数据流。 #### 基本概念 ##### 要点回顾 - **核心数与接收器数目的比例**:为了确保 Spark Streaming 应用程序能够有效运行,其核心数应大于接收器的数量。这是因为接收器会占用一定的核心资源来接收数据,而剩下的核心资源则用于处理数据。 - 在本地运行时,建议使用 `local[n]` 作为主 URL,其中 n 大于接收器的数量。这样可以保证有足够的线程处理接收的数据。 - 当部署到集群上时,分配给 Spark Streaming 应用程序的核心数也必须多于接收器的数量。否则,系统虽然能接收数据,但无法处理它们。 - **缓存/持久化** - 使用 `persist()` 方法可以自动将 DStream 中的每个 RDD 持久化到内存中。这对于提高性能非常关键,因为重复计算相同的 RDD 需要消耗大量资源。 - 对于基于窗口的操作(如 `reduceByWindow` 和 `reduceByKeyAndWindow`)以及基于状态的操作(如 `updateStateByKey`),这种持久化是隐式发生的,无需开发者显式调用 `persist()` 方法。 ##### 需要进行 Checkpoint 的情况 - **元数据 Checkpointing**:包括应用程序的配置信息、定义的 DStream 操作以及未完成的批次。这些信息对于故障恢复至关重要,尤其是在驱动程序发生故障的情况下。 - **数据 Checkpointing**:这是指将由某些操作产生的 RDD 存储到持久化的存储中。对于那些依赖于前序批次数据的状态化转换操作来说,定期进行 Checkpoint 可以有效地打断依赖链,减少故障恢复所需的时间。 ##### 如何配置 Checkpoint - **启用 Checkpoint**: - 如果应用程序使用了状态化的转换操作(例如 `updateStateByKey` 和 `reduceByKeyAndWindow`),那么就必须启用 Checkpoint。 - 为了从驱动程序故障中恢复,也需要配置 Checkpoint 来保存进度信息。 - **配置方式**: - 通过调用 `streamingContext.checkpoint(checkpointDirectory)` 来设置 Checkpoint 目录。这里的 `checkpointDirectory` 是一个指向持久化存储的路径,用于保存 Checkpoint 数据。 - 重写应用程序:当首次启动程序时,需要创建一个新的 `StreamingContext`,设置所有流并调用 `start()` 方法。当程序因故障而重启时,则需要加载 Checkpoint 数据来恢复状态。 #### 性能优化 - **默认的持久化级别**:与 RDD 不同的是,默认情况下 DStream 的持久化级别是将数据序列化存储在内存中。这种设置旨在平衡内存使用和数据访问速度之间的关系。 - **何时使用 Checkpoint**:根据上述讨论,在以下几种情况下需要启用 Checkpoint: - 使用状态化转换操作时。 - 需要从驱动程序故障中恢复时。 #### 小结 在理解和应用 Spark Streaming 时,正确配置核心数和接收器的比例、合理使用缓存机制以及适时启用 Checkpoint 都是非常重要的步骤。这些最佳实践有助于构建高效且可靠的实时数据处理系统。通过遵循这些指导原则,开发人员可以充分利用 Spark Streaming 的强大功能,从而满足各种实时数据分析的需求。





























剩余10页未读,继续阅读

- blackwall20102018-07-17感谢楼主,

- 粉丝: 84
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 威士葡萄酒网络营销策划方案.doc
- 中国网络游戏产业全景调查报告.doc
- 电子技术C语言课程设计题目.doc
- 实用软件工程ch10.pptx
- 小学英语海伦凯勒-Helen-Keler信息化说课.ppt
- 嵌入式系统在船舶方面的应用.doc
- 纸质2012年6月份PMP模拟试题第三套(带答案).doc
- 目前最详细的中文sas软件教程第五卷(共五卷).pdf
- 新编软件定制开发协议.doc
- 中国打车软件行业分析.pptx
- 室内综合布线工程设计报告样本.doc
- 用友软件:年结流程、跨年业务处理规则.pdf
- 计算机网络故障诊断与维护讲义.ppt
- 录制微课的软件介绍.ppt
- 软件工程大四社会实践报告.docx
- 我国电子商务的逃税问题及对策.docx


