2016-09-27 49 views
1

我正在研究Spark Streaming编程指南。我有一个基本的疑问,比如它将执行/计算Dstream输出操作。 例如(我是从一个例子):当火花流将在Dstream执行输出操作

val ssc = new StreamingContext(conf, Seconds(1)) 
val lines = ssc.socketTextStream("localhost", 7777) 
lines.foreachRDD { rdd => 
    rdd.foreachPartition { partitionOfRecords => 
    val connection = createNewConnection() 
    partitionOfRecords.foreach(record => connection.send(record)) 
    connection.close() 
    } 
} 
// Start the computation 
ssc.start() 
// Wait for the computation to terminate 
ssc.awaitTermination() 

它会在每个batch-iterval这里1秒做了手术。或者等到终止。

回答

2

它会在1秒钟的时间内执行每个批处理操作吗?或者等到终止。

它会每隔1秒读取一个批次并每次运行整个图形。在Spark术语中,它被称为在每个时间间隔执行作业

串流作业只会在您停止播放时终止。

+0

我们该如何终止流。是通过中断接收线程吗? –

+0

通过调用REST API或者终止进程。 –