import org.apache.spark.{SparkConf, SparkContext}
/**
* Created by lp on 2017/6/16.
*/
object T_cartesian {
System.setProperty("hadoop.home.dir","F:\\hadoop-2.6.5")
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("cartesian_test").setMaster("local")
val sc = new SparkContext(conf)
val rdd = sc.parallelize(List(1,2,3))
val rdd1 = sc.parallelize(List("A", "B"))
//这个方法用于计算两个(K,V)数据集之间的笛卡尔积
val sum = rdd.cartesian(rdd1)
.foreach(println)
}
}
运行结果:
(1,A)
(1,B)
(2,A)
(2,B)
(3,A)
(3,B)
(1,B)
(2,A)
(2,B)
(3,A)
(3,B)
本文通过一个具体的示例介绍了如何使用Apache Spark中的RDD进行笛卡尔积计算。该示例展示了两个不同类型的RDD(一个包含整数,另一个包含字符串)如何通过调用`cartesian`方法产生笛卡尔积,并打印出所有可能的配对组合。
252

被折叠的 条评论
为什么被折叠?



