我在雪花中用预编译的jar编写了一个基于Java的UDTF。我能够将jar上传到雪花中,并成功地创建了函数,所以我确信雪花很高兴在我的Java代码中实现了这个契约。
但是,当我实际尝试调用该函数时,我会收到以下信息:
SQL编译错误:未知函数function_name
我已经确认该函数与“显示用户函数”一起存在;并且我已经确认参数类型是正确的。
调用我所做的函数
select custom_function('A', 'B'); 然后我得到上面列出的错误。这种类型的调用似乎是可以接受的,因为类似的例子都在文档中,所以我完全搞不懂发生了什么。希望有人能帮我找到正确的方向。
编辑:我没有在上面指出,但是我有UDTF创建的数据库和模式,这是在我与雪花的连接上创建的。我在雪花UI和values中都尝试过,在这两种情况下,这些值都得到了适当的设置。
谢谢!
发布于 2022-01-04 17:29:29
问题是,您将此表函数称为标量函数,雪花正在搜索名为"custom_function“的标量函数。相反,您必须像这样调用函数:select * from table(custom_function('A', 'B'))。请参阅爪哇UDTF雪花文档。
发布于 2021-12-22 22:30:05
函数在特定的数据库和架构中创建。调用“使用数据库”和“使用架构”,或使用完全限定的名称调用函数,以确保当前的数据库/架构上下文没有不同。或者,如果通过应用程序调用会话变量,则确保它指向正确的数据库和架构。示例:
use database mydb;
use schema myschema;
select custom_function('A', 'B'); https://stackoverflow.com/questions/70455732
复制相似问题