Блоки данных - создание постоянных пользовательских функций (UDF) - PullRequest
0 голосов
/ 15 февраля 2019

Я могу создать функцию UDF и зарегистрироваться для зажигания, используя метод spark.UDF.Однако это только за сеанс.Как зарегистрировать функции Python UDF автоматически при запуске кластера?Эти функции должны быть доступны всем пользователям.Пример использования - преобразование времени из UTC в местный часовой пояс.

Ответы [ 2 ]

0 голосов
/ 10 мая 2019

фактически вы можете создать постоянную функцию, но не из записной книжки, вам нужно создать ее из файла JAR

https://docs.databricks.com/spark/latest/spark-sql/language-manual/create-function.html

CREATE [TEMPORARY] FUNCTION [db_name.] Function_name ASимя_класса [USING resource, ...]

resource:: (JAR | FILE | ARCHIVE) file_uri

0 голосов
/ 15 февраля 2019

Это невозможно;это не похоже на UDF в Hive.

Кодируйте UDF как часть пакета / программы, которую вы отправляете, или в банке, включенной в Spark App, если используете spark-submit.

Однако,

spark.udf.register.udf("...

также необходимо выполнить.Это относится к записным книжкам Databrick и т. Д. UDF необходимо перерегистрировать для каждого Spark Context / Session.

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