无法通过Java执行雪花PUT命令

2022-03-10 00:00:00 snowflake-cloud-data-platform java

我们正在尝试使用Java将JSON文件从文件位置加载到名为Stage的Snowflake。目前,PUT命令仅适用于ODBC,不适用于JDBC。那么有没有办法使用Java代码执行PUT命令呢?

谢谢


解决方案

Snowflake JDBC驱动程序支持local file uploads使用PUT语句。以下java语句被视为有效查询,文件将被上载:

statement.executeQuery("PUT file:///tmp/foo.json @JSONSTAGE/ overwrite=true");

在记录器下运行会产生如下日志(这里的日志来自JDBC驱动程序版本v3.12.2):

n.s.c.jdbc.SnowflakeFileTransferAgent$1 FINE call:778 - filePath: /tmp/foo.json
n.s.c.jdbc.SnowflakeFileTransferAgent FINE uploadFiles:1751 - Done with uploading

JDBC驱动程序还支持更高效的直接上载流的方式documented here。

相关文章