Dalam program pyspark, saya membaca baris kode berikut. Apa sebenarnya yang ingin dicapai oleh garis ini? Apa perbedaan antara sqlmax dan max di pyspark?

df.groupBy('groupId').agg(sqlmax('Time').alias('MaxTime')).withColumnRenamed('groupid1','groupid2')
0
user297850 5 April 2021, 01:32

1 menjawab

Jawaban Terbaik

Dugaan saya adalah sqlmax diimpor sebagai

from pyspark.sql.functions import max as sqlmax

Jenis mana yang masuk akal jika pembuat kode ingin menghindari penimpaan fungsi Python max. Anda tidak dapat menggunakan Python max di agg, tetapi Anda dapat menggunakan agregasi Spark SQL max.

Cara yang mungkin lebih umum untuk menulis ini adalah melakukan

import pyspark.sql.functions as F

df.groupBy('groupId').agg(F.max('Time').alias('MaxTime'))
0
mck 5 April 2021, 08:06