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