簡體   English   中英

.join數據集上的Apache Spark操作

[英]Apache Spark operation on .join dataset

我正在集群mllib上的pyspark上工作。 在python中,我們只有兩個API:一個是預測的,它給出該點的聚類值;一個是cluster.centers,它給出聚類的中心。

有人要求我使用公式(群集中的點數)/(群集的半徑)^ 2查找人口最稠密的群集。

我想出了一種方法來查找兩個值(聚類中的點數,聚類的半徑)。 現在,我有兩個(K,V)格式的數據集,其中一個數據集帶有(clusterValue,群集的半徑),另一個數據集帶有(ClusterValue,群集中的點數)。

我被困在這里,如何使用兩個數據集計算密度值。 有沒有一種方法可以使用數據集計算值?

我使用.join RDD Transformation,通過它我可以獲得組合的數據集(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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM