Я считываю данные в spark sql из файла json и хочу использовать regex_replace для замены чего-либо внутри {} или () на ноль.
{"url":"https://demo.com","title":"https://New Arch {Onboarding}..Lets (Onboard) it."},
{"url":"https://example.com","title":"New Arch (Onboarding)"}
Мы использовали приведенный ниже шаблон -
r"(http|ftp|file|https)://[-a-z0-9+&@#/\%?=~_-|!:,.;/]*|\<.*?\>|\{.*?\}|(=+)\s*(.*?)\s*(=+)|[-#*='{}()\[\]]{1,}|\.{2,}|&\w+;"
Который сейчас не работает с -
"\nextraneous input '\\' expecting {')', ',', '.', '[', 'OR', 'AND', 'IN', NOT, 'BETWEEN', 'LIKE', RLIKE, 'IS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '^', STRING}
Паттерн, который, кажется, вызывает ошибку -
[-#*='{}()\[\]]{1,}|\.{2,} and \{.*?\}
Удаление вышеуказанного паттерна sql не дает сбоя, но и шаблоны не удаляются -
select url, regexp_replace(title, '(http|ftp|file|https)://[-a-z0-9+&@#/\%?=~_-|!:,.;/]*|\<.*?\>|(=+)\s*(.*?)\s*(=+)|&\w+;', '') as text_body
from df_table_doc
0 https://demo.com New Arch {Onboarding}..Lets (Onboard) it..
1 https://example.com New Arch (Onboarding)
Добавление шаблона
\{.*?\}
sql не удается с
IndexError: tuple index out of range
IndexError Traceback (most recent call last)
<ipython-input-1-20460659c049> in <module>
----> 1 get_ipython().run_cell_magic('spark_sql', '--limit 200', "select url, regexp_replace(title, '(http|ftp|file|https)://[-a-z0-9+&@#/\\%?=~_-|!:,.;/]*|\\<.*?\\>|\\{.*?\\}|(=+)\\s*(.*?)\\s*(=+)|&\\w+;', '') as text_body\n from df_table_doc\n")