2015-05-07 92 views
0

我的代码执行:工作在星火没有数据流

// messages is JavaPairDStream<K, V> 
Fun01(messages) 
Fun02(messages) 
Fun03(messages) 

Fun01,Fun02,Fun03都有变换,输出操作(foreachRDD)。

  1. Fun01,Fun03如预期,这证明“消息”既执行不为空或为空。

  2. 在Spark应用程序UI上,我发现Fun02在“Spark stages”中的输出阶段,它证明了“已执行”。

  3. Fun02的第一行是一个map函数,我添加了它的日志。我还为Fun02的每一步添加了日志,他们都证明“没有数据”。

有人知道可能的原因吗?非常感谢。


@maasg Fun02的逻辑是:

msg_02 = messages.mapToPair(...) 
msg_03 = msg_02.reduceByKeyAndWindow(...) 
msg_04 = msg_03.mapValues(...) 
msg_05 = msg_04.reduceByKeyAndWindow(...) 
msg_06 = msg_05.filter(...) 

msg_07 = msg_06.filter(...) 
msg_07.cache() 
msg_07.foreachRDD(...) 

我已经做火花测试1.1和Spark-1.2,这是我公司的星火集群支持。

+1

你可以添加缺少的代码?目前尚不清楚在有限的背景下提出的问题或潜在原因。 – maasg

+0

您应该添加您的解决方案作为答案并接受它。这对其他人和寻求帮助的人更有帮助...... –

回答