我在运行一套程序
import pyspark
from pyspark.sql.window import Window
from pyspark.sql import functions as F
from pyspark.sql import SparkSession
from pyspark.sql.types import *
spark = SparkSession.builder.appName('SparkByExamples.com').getOrCreate()
list=[['f1','a','b','c',1],
['f1','b','d','m',0],
['f2','a','b','c',0],
['f2','b','d','m',0],
['f3','a','b','c',1],
['f3','b','d','m',1],
['f4','a','b','c',0],
['f4','b','d','m',0]]
df= spark.createDataFrame(list,['function_name','param1','param2','param3','result'])
df.show()
然后我就跑了
w=Window().partitionBy("function_name").orderBy(F.col("param1"),F.col("param2"),F.col("param3"))
dftest = df.withColumn("result_list", F.collect_list("result").over(w))
dftest.show()
结果显示如下,我的问题是,为什么在“函数名”列中,“f2”排在第一位; f4
命令如下 f2
; f1
命令如下 f4
等等。
暂无答案!
目前还没有任何答案,快来回答吧!