输入->
我需要按星星之火对数据行进行排序。下面是输入和输出。
猫,黑,狗,苹果,红
动物园,苹果,红,蓝,绿
苹果,绿色,动物园,黑色,走路
输出->
苹果,黑色,猫,狗,红色
苹果,蓝色,绿色,红色,动物园
苹果,黑色,绿色,步行,动物园
发布于 2022-09-07 12:41:07
如果每个字有一列,那么首先需要使用函数array将它们全部收集在一列中。然后可以使用函数array_sort
scala> df.withColumn("as_list", array_sort(array(df.columns.map(col): _*))).show(truncate=false)
+-----+-----+---+-----+-----+--------------------------------+
|_c0 |_c1 |_c2|_c3 |_c4 |as_list |
+-----+-----+---+-----+-----+--------------------------------+
|cat |black|dog|apple|red |[apple, black, cat, dog, red] |
|zoo |apple|red|blue |green|[apple, blue, green, red, zoo] |
|apple|green|zoo|black|walk |[apple, black, green, walk, zoo]|
+-----+-----+---+-----+-----+--------------------------------+如果您的单词已经在列表中,则可以直接使用array_sort
scala> df.withColumn("words", array_sort(col(words))).show(truncate=false)https://stackoverflow.com/questions/73599850
复制相似问题