Мне нужно проверить, зарегистрирована ли пользовательская функция pyspark перед выполнением команды sql, которая ее использует. Упомянутый udf называется jaro_winkler_sim
.
У меня есть код, который сделает это, используя что-то вроде:
from pyspark.sql.utils import AnalysisException
try:
sql = "select jaro_winkler_sim('a', 'b')"
spark.sql(sql)
fn_exists = True
except AnalysisException as e:
# handle error
fn_exists = False
Но я чувствую, что должен быть более прямой метод. Как я могу это сделать?