Apache spark Spark JavaRDD vs JavaPairRDD?
我是Spark的新手,我试图理解两个JavaRDD和JavaPairRDD之间的区别,以及如果我将JavaRDD转换为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
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,看看每个应用程序都有哪些可用的函数
此外,将一个转换为另一个应该很快。这将是一个狭窄的转换,因为每一行都转换为另一行,不需要通过网络发送数据。通常,您的性能主要取决于您所做的广泛转换,其中必须在节点之间发送数据,以便在同一个辅助进程上使用相同的键对行进行合并。感谢您的解释