4

ウィンドウ関数 ( などfirst, last, lag, lead) は でサポートされていpysparkますか?

たとえば、ある列でグループ化し、別の列で並べ替えてから、SparkSQL またはデータ フレームで各グループの最初の行を選択する (ウィンドウ関数のように) にはどうすればよいでしょうか?

pyspark.sql.functionsクラスに集計関数firstとが含まれていることがわかりlastましたが、クラスには使用できませんgroupBy

4

2 に答える 2

2

spark 1.4 以降、ウィンドウ関数を使用できます。pyspark では、これは次のようになります。

from pyspark.sql.functions import rank
from pyspark.sql import Window
data = sqlContext.read.parquet("/some/data/set")
data_with_rank = data.withColumn("rank", rank().over(Window.partitionBy("col1").orderBy(data["col2"].desc())))
data_with_rank.filter(data_with_rank["rank"] == 1).show()
于 2015-07-08T15:06:32.280 に答える