UDF не регистрируется в Databricks - PullRequest
0 голосов
/ 11 марта 2020

Я создал scala UDF и зарегистрировал то же самое, используя spark.udf.register("UDFName",UDFName). Когда я запускаю команду

%scala
spark.catalog.listFunctions.filter('name like "%UDFName%").show(false)

, я получаю результат как:

+--------------+--------+-----------+----------------------------------+-----------+
|name          |database|description|className                         |isTemporary|
+--------------+--------+-----------+----------------------------------+-----------+
|UDFNAME       |default |null       |com.pro.security.udf.UDFNAME      |false      |
+--------------+--------+-----------+----------------------------------+-----------+

Так что вышеизложенное говорит, что UDF является постоянным. Но теперь, когда я выполняю простую команду в Блоки данных:

spark.sql("select UDFName('XYZKey',to_date('2020-03-03 05:17:52'))").show()

Я получаю следующую ошибку:

org. apache .spark. sql .AnalysisException: Не удается загрузить класс 'com.pro.security .udf.UDFName 'при регистрации функции default.UDFNAME убедитесь, что она находится на пути к классам; Строка 1, поз. 7

Есть ли какие-либо указания, почему это происходит, даже если регистрация работала нормально ??

...