通过 JDBC 与 COPY_INTO + GET 批量卸载雪花数据
Posted
技术标签:
【中文标题】通过 JDBC 与 COPY_INTO + GET 批量卸载雪花数据【英文标题】:Bulk unloading Snowflake data through JDBC vs COPY_INTO + GET 【发布时间】:2021-08-25 22:13:55 【问题描述】:我有兴趣从 Snowflake 连续批量卸载数据到本地存储。通过使用 JDBC 直接发出 SELECT
查询与使用 COPY_INTO
复制到 Snowflake 内部阶段然后使用 GET
命令从内部阶段 (Snowflake reference) 下载,从 Snowflake 批量卸载是否有任何缺点。
通过 JDBC 进行选择查询似乎更直接,无需使用中间内部阶段的雪花存储容量。
【问题讨论】:
嗨 - 在这种情况下,您所说的“持续”是什么意思?如果连续提取有意义,您的数据可能会不断输入到 Snowflake 中? 【参考方案1】:COPY INTO 有一些直接 SELECT 没有的额外好处:
-
格式选项,允许您生成除 CSV 之外的其他文件类型,例如 JSON、Parquet、AVRO、ORC 和 XML
您可以直接复制到外部位置,例如 S3
您可以控制是生成单个文件还是多个文件,并定义每个文件的最大文件大小
您可以控制分隔符、字段包围和转义字符等
您可以决定使用什么压缩方式,它支持 GZIP、BZ2 等
这不是一个详尽的列表,所以我认为 COPY INTO 可以让您更好地控制简单的直接 SELECT。
【讨论】:
以上是关于通过 JDBC 与 COPY_INTO + GET 批量卸载雪花数据的主要内容,如果未能解决你的问题,请参考以下文章