将JavaDStream数据访问到mapWithState中

时间:2016-08-11 14:02:43

标签: java apache-spark

我有一个包含一些数据的JavaDStream。我想将该数据访问到mapWithState函数中。显然,foreachRDD不能使用,因为它只在驱动程序上运行而且collect()也不能使用,因为它包含大量数据。任何解决方案?

谢谢!

稍后编辑:

JavaDStream<Pair<String, int[]>> filteredRates = rate.filter(f -> f != null);

Function3<Message, Optional<Integer>, State<MessageState>, Pair<Message, MessageState>> messageState = (
                    key, value, state) -> {
                if (state.exists()) {
                    // needs to access array from filteredRates rdds. 
                    return new ImmutablePair<>(Message, MessageState);
                } else {
                    //update state
                    return null;
                }
            };

0 个答案:

没有答案