как разделить столбец, содержащий разделенную трубкой строку, на два столбца в scala - PullRequest
0 голосов
/ 24 января 2020

У меня есть два столбца с разделением по трубам в таблице, например

column_name
name-MARYAM BEGUM | MOHD AIJAZUR RAHMAN
fathers_name-AIJAZUR RAHMAN | MOHD HABEEB SAB

, когда я использую функцию разбиения с разнесением, она производит 4 строки, так как я хочу две строки, такие как

name                                              fathers name
|SYED YOUSUF                                     |JANI MIYA             |
| MOHAMMED MUBEEN UL ALI                         | MOHAMMED SHAFI UL ALI|

1 Ответ

0 голосов
/ 24 января 2020

Вы можете использовать withColumn, чтобы создать новый столбец из существующих значений столбца. Вы можете извлечь данные из столбца, используя org.apache.spark.sql.functions.regexp_extract. Вы также можете использовать комбинацию функций org.apache.spark.sql.functions.substring и org.apache.spark.sql.functions.instr и т.д. c. Пожалуйста, ознакомьтесь со всеми доступными функциями .

//lets say "column_name" has concatenated data

df.withColumn($"name", regexp_extract($"column_name", <expression to extract name>, <group index>))
df.withColumn($"father_name", regexp_extract($"column_name", <expression to extract fathers name>,<group index>))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...