Databricks - 创建永久的用户定义函数(UDF)

Databricks - Creating permanent User Defined Functions (UDFs)

我能够创建一个 UDF 函数并使用 spark.UDF 方法注册到 spark。但是,这仅限于每个会话。 如何在Cluster启动时自动注册python UDF函数?。这些功能应该对所有用户可用。示例用例是将时间从 UTC 转换为本地时区。

这是不可能的;这不像 Hive 中的 UDF。

如果使用 spark-submit,将 UDF 编码为您提交的包/程序的一部分,或者在 Spark 应用程序中包含的 jar 中。

然而,

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

也需要完成。这适用于 Databrick 笔记本等。每个 Spark Context/Session.

需要重新注册 UDF

实际上您可以创建永久函数,但不能从笔记本中创建 您需要从 JAR 文件创建它

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

创建 [临时] 函数 [db_name.]function_name AS class_name [正在使用资源,...]

资源: : (JAR|FILE|ARCHIVE) file_uri