Преобразовать строку в регулярное выражение для объединения через rlike в Spark - PullRequest
0 голосов
/ 17 декабря 2018
def regex_maker(list1):
     new_list = ["^"]
     for i in range(1, len(list1)):
     new_list.append("(?=.*_"+list1[i]+")")

     new_list.append(".*$")
     str1 = "".join(new_list)

     return str1

Я пытаюсь объединить наборы данных на основе шаблонов в строках.Для этого мне нужно преобразовать строку типа «_AA_BB» в регулярное выражение «^ (? =. _AA) (? =. _BB). * $».Мне удалось реализовать это через UDF выше.У меня, к сожалению, очень большой набор данных, и я читаю, что файлы udf довольно медленные.

Есть ли способ сделать это с помощью обычной функции pyspark sparksql?

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