У меня есть буквенно-цифровой столбец с именем «Результат», который я хочу разбить на 4 различных столбца: префикс, суффикс, значение и pure_text.
Я бы хотел решить эту проблему, используя Spark SQL, используя RLIKE и REGEX, но также открыт для PySpark / Scala
pure_text : содержит только алфавиты (или), если они естьесли числа присутствуют, то они должны иметь либо специальный символ «-», либо несколько десятичных знаков (т. е. 9.9.0), либо число, за которым следует алфавит, а затем снова число (т. е. 3x4u)
префикс : все, что не может быть отнесено к категории "pure_text", будет принято во внимание.любой символ (символы) перед 1-й цифрой [0-9] необходимо извлечь.
суффикс : все, что не может быть отнесено к "pure_text", будет принято во внимание.любые символы после последней цифры [0-9] должны быть извлечены.
значение : все, что не может быть отнесено к "pure_text", будет принято во внимание.извлечь все числовые значения, включая десятичную точку.
Result
11 H
111L
<.004
>= 0.78
val<=0.6
xyz 100 abc
1-9
aaa 100.3.4
a1q1
Ожидаемый результат:
Result Prefix Suffix Value Pure_Text
11 H H 11
111L L 111
.9 0.9
<.004 < 0.004
>= 0.78 >= 0.78
val<=0.6 val<= 0.6
xyz 100 abc xyz abc 100
1-9 1-9
aaa 100.3.4 aaa 100.3.4
a1q1 a1q1