Spark 应用大数据技术峰会解读玩转大数据

“五招” 迅速提升你的流处理程序

2017-03-30  本文已影响82人  大数据技术峰会解读

今天解读的内容是来自 Spark Summit East 2017 关于 Spark Streaming 应用程序开发的一个介绍:What No One Tells You About Writing a Streaming App

注:本文只是解读此技术分享的要点,如果对具体内容有兴趣,请查看 PPT 或视频,资料下载请关注微信公众号:大数据技术峰会解读(bigdata_summit),回复 “001”

作者主要针对 Spark Streaming 流处理程序的如下五个方面进行探讨:

Monitoring and managing jobs( 监控和管理作业)

主要是针对运行在 YARN 之上的 spark streaming 流处理程序进行探讨并回答如下方面的问题:

作业管理:

作业监控:

Prevent data loss (防止数据丢失)

由上面可知,当 Driver 程序宕掉后,可以自动重启,但是这过程中如何防止数据丢失呢?不同的情况需要不同对待:

  1. File Sources(当数据源来自文件,如 HDFS 文件或 S3)
  1. Reciever based sources(有专门的 executor 接受来自外部 [如 socket 等] 的数据,供后续其他 executor 处理)
  1. Spark Streaming with Kafka

扩展阅读:

Do I really need to use Spark Streaming (真的需要使用 Spark Streaming 吗?)

Spark Streaming 比较适合如下场景:

如下方面 Spark Streaming 也能做,但是作者认为 Spark Streaming 未必是最好的选择

Exactly once sematics (Exactly once 语义)

作者认为,虽然 spark 引擎能提供 Exactly Once 语义,但是它很可能只是整个流水线的一(小)部分,任何一个其他地方(如数据源、Sink 等)出错,可能从应用层面就无法保证计算的完全精确。

Graceful shutting down your streaming app (如何优雅地关闭流处理程序)

首先定义如何关闭流处理程序才算是 “优雅地关闭”:

介绍了两种优雅关闭Spark Streaming 程序的方法:

上一篇 下一篇

猜你喜欢

热点阅读