.join 数据集上的 Apache Spark 操作
Apache Spark operation on .join dataset
我正在使用聚类 mllib 上的 pyspark。在 python 中,我们只有两个 API,一个是预测,它给出了该点的聚类值,一个是 cluster.centers,它给出了聚类中心。
我被要求使用公式(簇中的点数)/(簇的半径)^2
找到人口最稠密的簇
我找到了一种方法来找到这两个值(簇中的点数,
簇的半径)。现在我有两个(K,V)格式的数据集,其中一个数据集带有(clusterValue,集群的半径),另一个数据集有(ClusterValue,集群中的点数)。
我被困在这里如何使用两个数据集计算密度值。有没有一种方法可以使用数据集计算值?
我使用了 .join RDD 转换,通过它我能够获得组合数据集 (k,(v,w)) 即 (clustervalue,(radius,number)) 。但无法弄清楚如何应用此类数据集上的任何函数。如果你们中的任何人在
之前遇到过这个问题,请帮助我
我正在使用 spark 1.1.1
您可以使用 .map
转换将任何函数应用于您加入的 RDD,例如将数字除以半径:
kvw=[("X",(2.0,1.0)),("Y",(3.0,2.0))]
kvwRDD = sc.parallelize(kvw)
kvwRDD.map(lambda (k,(v,w)): (k, w/v))
http://spark.apache.org/docs/latest/programming-guide.html#basics.
中对此进行了介绍
densities = joined.map(
lambda (cluster, (radius, number)): (cluster, number / radius / radius))
我正在使用聚类 mllib 上的 pyspark。在 python 中,我们只有两个 API,一个是预测,它给出了该点的聚类值,一个是 cluster.centers,它给出了聚类中心。
我被要求使用公式(簇中的点数)/(簇的半径)^2
找到人口最稠密的簇我找到了一种方法来找到这两个值(簇中的点数, 簇的半径)。现在我有两个(K,V)格式的数据集,其中一个数据集带有(clusterValue,集群的半径),另一个数据集有(ClusterValue,集群中的点数)。
我被困在这里如何使用两个数据集计算密度值。有没有一种方法可以使用数据集计算值?
我使用了 .join RDD 转换,通过它我能够获得组合数据集 (k,(v,w)) 即 (clustervalue,(radius,number)) 。但无法弄清楚如何应用此类数据集上的任何函数。如果你们中的任何人在
之前遇到过这个问题,请帮助我我正在使用 spark 1.1.1
您可以使用 .map
转换将任何函数应用于您加入的 RDD,例如将数字除以半径:
kvw=[("X",(2.0,1.0)),("Y",(3.0,2.0))]
kvwRDD = sc.parallelize(kvw)
kvwRDD.map(lambda (k,(v,w)): (k, w/v))
http://spark.apache.org/docs/latest/programming-guide.html#basics.
中对此进行了介绍densities = joined.map(
lambda (cluster, (radius, number)): (cluster, number / radius / radius))