我有一个包含一些数据的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;
}
};