我正在研究Spark Streaming编程指南。当它执行/计算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秒钟。或者它等到终止。
答案 0 :(得分:2)
它是否会在每个批次执行操作 - 此时为1秒。或者它等到终止。
它将每隔1秒读取一次批处理并每次运行整个图表。在Spark术语中,它被称为在每个时间间隔执行作业。
流媒体作业只有在您单独停止后才会终止。