0
我有以下模式的DF:如何将数组转换为串有效地在python/pyspark
root
|-- col1: string (nullable = true)
|-- col2: array (nullable = true)
| |-- element: string (containsNull = true)
在其中的一列,COL2是阵列[1个#B,2·B ,3#C]。我想将它转换为这种字符串格式1#b,2#b,3#c。
我目前做这通过下面的代码片段
df2 = (df1.select("*",explode(col2)).drop('col2'))
df2.groupBy("col1").agg(concat_ws(",", collect_list('col')).alias("col2"))
虽然这能够完成任务,它需要时间,也显得效率低下。有更好的选择吗?