图示:
1.InputDstream -->Transformation Dstream (生成dstream的有向无环图即Dstream的DAG,它会在时间的驱动下转换为rdd的DAG实现job的提交)-->outputStream
sparkStreamingContext:
整个流式程序的入口。它提供了用于创建[[org.apache.spark.streaming.dstream.DStream]方法的各种源。它可以是通过从org.apache.spark.SparkConf提供spark主URL和appname创建配置(请参阅核心spark文档),或从现有org.apache.spark.SparkContext。相关的SparkContext可以使用context.sparkContext进行访问。 后创建和转化DStreams,流计算可以被启动和停止使用context.start()和context.stop()。context.awaitTermination()使当前线程等待终止。
Dstreaming:
离散化流(DSTREAM)是sparkrdd的基本抽象,是一个持续的表示连续的数据流RDDS序列(见org.apache.spark.rdd.RDD)。DStreams既可以创建从实时数据(例如,从TCP端口,kafka,flume等),使用[[org.apache.spark.streaming.StreamingContext]或它可以通过生成使用转换操作,如`map`现有DStreams,`window`和`reduceByKeyAndWindow`。Spark Streaming程序运行时,每个DSTREAM定期生成一个RDD,无论是从实时数据或通过变换由产生的RDD父DSTREAM。
这个类包含了所有可用的DStreams的基本操作,如`map`,`filter`和`window`。此外,[[org.apache.spark.streaming.dstream.PairDStreamFunctions]]包含仅在键 - 值对DStreams操作,如`groupByKeyAndWindow`和`join`DStreams内部的特征在于一些基本属性:
- 其他DStreams的名单,该DSTREAM取决于
- 时间间隔在该DSTREAM产生RDD
- 这是使用的函数生成每个时间间隔
RDDReceiver:
抽象类的接收机,可以运行在工作节点接收外部数据。同时可以自定义receiver,如此一来,可以接收任何类型的数据