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

时间:2019-02-15 17:47:40

标签: apache-spark databricks

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

2 个答案:

答案 0 :(得分:1)

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

如果使用spark-submit,则将UDF编码为您提交的软件包/程序的一部分,或在Spark App随附的jar中。

但是

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

也必须完成。这适用于Databrick笔记本电脑等。需要根据Spark上下文/会话重新注册UDF。

答案 1 :(得分:0)

您可以创建永久性功能,但不能从笔记本中创建 您需要从JAR文件创建它

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

创建[临时]功能[数据库名称。]功能名称AS类名称   [正在使用资源,...]

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