Я работаю над регулярным выражением, чтобы применить его к столбцу PySpark DataFrame.
Я не могу воспроизвести в PySpark результат моего рабочего регулярного выражения , запущенного здесь в regex101 .
Я пробовал несколько методов (см. Ниже), но ни один из них, похоже, не работает (даже протестирован на конкретном движке Java regex). Я хотел бы принести группу показала на примере выше
(\w+(?:\s*|\d*)\s+RUE\s.*)
[\s\-]+(\d*\s*RUE\s+.*)
образца кода:.
df = spark.createDataFrame([
('RESIDENCE LA VENDEENNE 80 81 RUE LOUIS LUMIERE',)
], ["adresse1"])
df.withColumn("adresse1", regexp_replace("adresse1", "(\w+(?:\s*|\d*)\s+RUE\s.*)", '$1')).show(truncate=False)
Выход я получаю мои без изменений колонка:
+-----------------------------------------------+
|adresse1 |
+-----------------------------------------------+
|RESIDENCE LA VENDEENNE 80 81 RUE LOUIS LUMIERE|
+-----------------------------------------------+
1017 * Когда я ожидал столбец, который будет оценен в
81 RUE LOUIS LUMIERE
до сих пор я абсолютно не догадаться, тем более, что мои предыдущие работы (соответствие), как прогнозировалось.
1023 * Свеча конфигурация:
- версия 2.4.0-cdh6.2.0
- OpenJDK 64-разрядный сервер VM,1.8.0_222