如何保存 Spark Java Dstream RDD
How to save Spark Java Dstream RDD
Spark Scala API DStream提供了一种方法saveAsTextFiles
将Dstream RDD存储在HDFS上。
中没有对应的方法
如何使用 Spark 在 HDFS 中存储 DStream RDD Java API?
使用 JavaDStream 的 forEachRDD API class。
使用Dstream的foreach方法,你可以先从Dstream中获取所有的RDD,然后使用saveAsTextFile方法保存这些rdd。
这里是示例代码
sortedCounts.foreach(new Function<JavaPairRDD<Integer, String>, Void>() {
public Void call(JavaPairRDD<Integer, String> rdd) {
rdd.saveAsTextFile(path);
return null;
}
});
Time
参数可用于prefix/postfix实际路径。
myrdd.foreachRDD(new Function2<JavaPairRDD<Integer, String>, Time, Void>() {
public Void call(JavaPairRDD<Integer, String> rdd) {
rdd.saveAsTextFile(path + "-" + time.toString().split(" ")[0]);
return null;
}
});
尝试使用 dstream()
方法将 JavaDStream 转换为 DStream。例如..
lines.dstream().saveAsObjectFiles("pre", "suf")
如果JavaDStream对象是dstream
,目录路径是path
可以保存为
dstream.foreachRDD(rdd -> {
rdd.saveAsTextFile(path);
});
Spark Scala API DStream提供了一种方法saveAsTextFiles
将Dstream RDD存储在HDFS上。
如何使用 Spark 在 HDFS 中存储 DStream RDD Java API?
使用 JavaDStream 的 forEachRDD API class。
使用Dstream的foreach方法,你可以先从Dstream中获取所有的RDD,然后使用saveAsTextFile方法保存这些rdd。
这里是示例代码
sortedCounts.foreach(new Function<JavaPairRDD<Integer, String>, Void>() {
public Void call(JavaPairRDD<Integer, String> rdd) {
rdd.saveAsTextFile(path);
return null;
}
});
Time
参数可用于prefix/postfix实际路径。
myrdd.foreachRDD(new Function2<JavaPairRDD<Integer, String>, Time, Void>() {
public Void call(JavaPairRDD<Integer, String> rdd) {
rdd.saveAsTextFile(path + "-" + time.toString().split(" ")[0]);
return null;
}
});
尝试使用 dstream()
方法将 JavaDStream 转换为 DStream。例如..
lines.dstream().saveAsObjectFiles("pre", "suf")
如果JavaDStream对象是dstream
,目录路径是path
可以保存为
dstream.foreachRDD(rdd -> {
rdd.saveAsTextFile(path);
});