一行に結合カラムcombineByKey、多列のRDD高度なAPIの使用pyspark

combineByKey下はそれをすべて持つreduceByKeyは異なり、そのようなデータフレームやRDD GROUPBYなど、より高度な用途は、RDDが軽減されます。
基準関数にcombineByKey三の関数であり、(K V)と組み合わされて、単一の(K、V)のためのオブジェクトの(K、C)新しい行、(K、C)、(K、C)へと(K、C)新しい、キーと値のペアの最終的な全体(K、C)のセットにまとめ

最も簡単な例:
https://spark.apache.org/docs/2.3.1/api/python/pyspark.html#pyspark.RDD
combineByKey見つけるための検索機能
Pythonのスパーク環境を

x = sc.parallelize([("a", 1), ("b", 1), ("a", 2)])
def to_list(a): #单个v 转c
    return [a]
def append(a, b): #c 与v 合并
    a.append(b)
    return a
def extend(a, b): #c 与 c 合并
    a.extend(b)
    return a
sorted(x.combineByKey(to_list, append, extend).collect())
[('a', [1, 2]), ('b', [1])]

私のユーザーのログイン率の分布統計のそれぞれを見て、複雑なユースケースは、ケースの記事を使用します

おすすめ

転載: blog.csdn.net/u010720408/article/details/94434643