PySpark: создать столбец из упорядоченного объединения столбцов - PullRequest
0 голосов
/ 25 апреля 2018

У меня проблема с созданием нового столбца из упорядоченной конкатенации двух существующих столбцов в фрейме данных pyspark, т. Е.:

+------+------+--------+
| Col1 | Col2 | NewCol |
+------+------+--------+
| ORD  | DFW  | DFWORD |
| CUN  | MCI  | CUNMCI |
| LAX  | JFK  | JFKLAX |
+------+------+--------+

Другими словами, я хочу получить Col1и Col2, упорядочили их в алфавитном порядке и объединили их.

Есть предложения?

1 Ответ

0 голосов
/ 25 апреля 2018

Объединение concat_ws, array и sort_array

from pyspark.sql.functions import concat_ws, array, sort_array

df = spark.createDataFrame(
    [("ORD", "DFW"), ("CUN", "MCI"), ("LAX", "JFK")],
    ("Col1", "Col2"))

df.withColumn("NewCol", concat_ws("", sort_array(array("Col1", "Col2")))).show()
# +----+----+------+        
# |Col1|Col2|NewCol|
# +----+----+------+
# | ORD| DFW|DFWORD|
# | CUN| MCI|CUNMCI|
# | LAX| JFK|JFKLAX|
# +----+----+------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...