火花流

回到术语表
Apache Spark Streaming是Apache Spark的上一代流引擎。Spark Streaming不再有更新,它是一个遗留项目。在Apache Spark中有一个更新且更容易使用的流引擎,称为结构化流。你应该为你的流应用程序和管道使用Spark Structured Streaming。看到结构化流

什么是Spark Streaming?

Apache Spark Streaming是一个可扩展的容错流处理系统,本机支持批处理和流处理工作负载。Spark Streaming是核心Spark API的扩展,允许数据工程师和数据科学家处理来自各种来源的实时数据,包括(但不限于)Kafka、Flume和Amazon Kinesis。处理后的数据可以推送到文件系统、数据库和实时仪表板。它的关键抽象是离散化流(Discretized Stream),或者简单地说,DStream,它表示划分为小批的数据流。dstream是建立在rdd上的,rdd是Spark的核心数据抽象。这使得Spark Streaming可以与任何其他Spark组件(如MLlib和Spark SQL)无缝集成。Spark Streaming与其他系统不同,其他系统要么有专门为流处理设计的处理引擎,要么有类似的批处理和流处理api,但内部编译到不同的引擎。Spark的单一执行引擎和用于批处理和流处理的统一编程模型比其他传统流处理系统具有一些独特的优势。

Spark Streaming的四个主要方面

  • 从失败和掉队中快速恢复
  • 更好的负载平衡和资源使用
  • 将流数据与静态数据集和交互式查询相结合
  • 与高级处理库(SQL、机器学习、图形处理)的本地集成
Apache Spark流式生态系统图这种不同数据处理能力的统一是Spark Streaming被迅速采用的关键原因。它使得开发人员可以很容易地使用一个框架来满足他们所有的处理需求。

额外的资源


回到术语表