gpt4 book ai didi

java - 初始化一个RDD为空

转载 作者:太空狗 更新时间:2023-10-29 22:38:58 27 4
gpt4 key购买 nike

我有一个 RDD 叫做

JavaPairRDD<String, List<String>> existingRDD; 

现在我需要将这个 existingRDD 初始化为空,这样当我得到实际的 rdd 时,我可以与这个 existingRDD 进行联合。如何将 existingRDD 初始化为空 RDD,除非将其初始化为 null?这是我的代码:

JavaPairRDD<String, List<String>> existingRDD;
if(ai.get()%10==0)
{
existingRDD.saveAsNewAPIHadoopFile("s3://manthan-impala-test/kinesis-dump/" + startTime + "/" + k + "/" + System.currentTimeMillis() + "/",
NullWritable.class, Text.class, TextOutputFormat.class); //on worker failure this will get overwritten
}
else
{
existingRDD.union(rdd);
}

最佳答案

要在 Java 中创建一个空的 RDD,您只需执行以下操作:

// Get an RDD that has no partitions or elements.
JavaSparkContext jsc;
...
JavaRDD<T> emptyRDD = jsc.emptyRDD();

我相信您知道如何使用泛型,否则,对于您的情况,您将需要:

JavaRDD<Tuple2<String,List<String>>> emptyRDD = jsc.emptyRDD();
JavaPairRDD<String,List<String>> emptyPairRDD = JavaPairRDD.fromJavaRDD(
existingRDD
);

您还可以使用 mapToPair 方法将您的 JavaRDD 转换为 JavaPairRDD

Scala 中:

val sc: SparkContext = ???
...
val emptyRDD = sc.emptyRDD
// emptyRDD: org.apache.spark.rdd.EmptyRDD[Nothing] = EmptyRDD[1] at ...

关于java - 初始化一个RDD为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33472829/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com