Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark JavaRDD vs JavaPairRDD?_Apache Spark_Rdd - Fatal编程技术网

Apache spark Spark JavaRDD vs JavaPairRDD?

Apache spark Spark JavaRDD vs JavaPairRDD?,apache-spark,rdd,Apache Spark,Rdd,我是Spark的新手,我试图理解两个JavaRDD和JavaPairRDD之间的区别,以及如果我将JavaRDD转换为JavaPairRDD,这个操作有多重 JavaRDD<Tuple2<String, String>> myRdd // This is my JavaRDD JavaPairRDD<String, String> pairRDD = JavaPairRDD.fromJavaRDD(myRdd); JavaRDD myRdd//这是我的Ja

我是Spark的新手,我试图理解两个JavaRDD和JavaPairRDD之间的区别,以及如果我将JavaRDD转换为JavaPairRDD,这个操作有多重

JavaRDD<Tuple2<String, String>> myRdd // This is my JavaRDD

JavaPairRDD<String, String> pairRDD = JavaPairRDD.fromJavaRDD(myRdd);
JavaRDD myRdd//这是我的JavaRDD
javapairdd pairdd=javapairdd.fromJavaRDD(myRdd);

有区别,因为某些操作(
aggregateByKey
groupByKey
等)需要有一个键来分组,然后在分组结果中输入一个值。javapairdd在那里向开发者声明合同需要一个键和

常规
JavaRDD
可用于不需要显式键字段的操作。这些操作是对任意元素类型的通用操作

看看他们的javadoc,看看每个应用程序都有哪些可用的函数


此外,将一个转换为另一个应该很快。这将是一个狭窄的转换,因为每一行都转换为另一行,不需要通过网络发送数据。通常,您的性能主要取决于您所做的广泛转换,其中必须在节点之间发送数据,以便在同一个辅助进程上使用相同的键对行进行合并。

感谢您的解释