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?