尝试运行 Java UDTF 时出现“未知函数”错误

Jef*_*eff 4 snowflake-cloud-data-platform

我用预编译的 jar 在 Snowflake 中编写了一个基于 Java 的 UDTF。我能够将 jar 上传到 Snowflake 并成功创建该函数,因此我相当确定 Snowflake 对我的 Java 代码中满足的合同感到满意。

但是,当我实际尝试调用该函数时,我收到以下信息:

SQL 编译错误:未知函数 [function_name]

我已通过“显示用户功能”确认该功能存在;我已经确认参数类型是正确的。

调用我正在做的函数

select custom_function('A', 'B'); 
Run Code Online (Sandbox Code Playgroud)

然后我收到上面列出的错误。这种类型的调用似乎是可以接受的,因为文档中有这样的示例,所以我完全不知道发生了什么。希望有人能帮助我指明正确的方向。

编辑:我在上面没有指出,但我确实拥有在与 Snowflake 的连接上创建的 UDTF 的数据库和架构。我已经在 Snowflake UI 和 VS Code 中进行了尝试,并且在这两种情况下,这些值都已正确设置。

谢谢!

小智 7

问题是您将此表函数作为标量函数调用,而 Snowflake 正在搜索名为“custom_function”的标量函数。您必须像这样调用该函数:select * from table(custom_function('A', 'B'))。请参阅Java UDTF Snowflake文档。