我有一个RDD,想要为它添加更多RDD。我怎么能在Spark中做到这一点? 我有如下代码。我想从我的dStream中返回RDD。
CFByteOrderLittleEndian
我没有找到关于Apache Spark提供的JavaDStream类的wrapRDD方法的文档。
答案 0 :(得分:2)
由于RDD 不可变,您可以使用sparkContext.parallize
创建新的RDD并返回新的RDD。
List<Object> objectList = new ArrayList<Object>;
objectList.add("your content");
JavaRDD<Object> objectRDD = sparkContext.parallize(objectList);
JavaRDD<Object> newRDD = oldRDD.union(objectRDD);
答案 1 :(得分:1)
您可以使用JavaStreamingContext.queueStream
并填入Queue<RDD<YourType>>
:
public JavaInputDStream<Object> FillDStream() {
LinkedList<RDD<Object>> rdds = new LinkedList<RDD<Object>>();
rdds.add(context.sparkContext.emptyRDD());
rdds.add(context.sparkContext.emptyRDD());
JavaInputDStream<Object> filledDStream = context.queueStream(rdds);
return filledStream;
}