我的问题与这个帖子类似: Spark SQL中按多列分区
但我使用的是Pyspark而不是Scala,我想将列名列表作为一个列表传递进去。我想要做的事情类似于这样:
column_list = ["col1","col2"]
win_spec = Window.partitionBy(column_list)
我可以让以下内容工作:
win_spec = Window.partitionBy(col("col1"))
这也可以运作:
col_name = "col1"
win_spec = Window.partitionBy(col(col_name))
这也可以:
win_spec = Window.partitionBy([col("col1"), col("col2")])