0
私はSpark Streamingで簡単な語数を出しています。どのようにしてn個の最もよく使われる言葉を得るか、言い換えれば、最も高い値を持つ最初のn個の鍵を得るか?Python Spark-Streamingはn個の最大キーを取得します
ここでは、これまでに私のコードです:すでに降順でリストをソート
counts = lines.flatMap(lambda line: line.split(" ")) \
.map(lambda word: (word, 1)) \
.reduceByKeyAndWindow(lambda a, b: a+b, lambda a, b: a-b, 30, 2)
output = counts.map(lambda (a, b):(b, a)).transform(lambda rdd: rdd.sortByKey(ascending=False)).map(lambda (a, b):(b, a))
が、今私は、トップn個の要素を取る必要があります。 Scalaでrdd.take()を使用し、list.containsに基づいてrddをフィルタリングする方法については、そこにいくつかの例があります。しかし、Pythonにはlist.containsはありません。