【发布时间】:2019-10-18 23:06:21
【问题描述】:
我有一个 spark-streaming 作业,我从消息队列接收数据并处理一堆记录。在此过程中,我在数据集上有一个 take() 方法。尽管 take 操作正在以预期的方式发生,但在 DAG 可视化中,我看到创建了多个作业 ID,并且它们都具有相同的 take action。仅当数据为数十万条记录时才会发生这种情况。在本地机器上运行数十条记录时,我没有观察到多余的作业。谁能帮我理解这种行为背后的原因?
作业 ID -(91 到 95)基本上运行相同的动作。下面是上面提到的动作对应的代码sn-p。
val corruptedMessageArray: Array[ String ] = corruptedMessageDs.take(1);
if ( !corruptedMessageArray.isEmpty ) {
val firstCorruptedMessage: String = corruptedMessageArray( 0 )
}
【问题讨论】:
标签: scala apache-spark bigdata spark-streaming apache-spark-dataset