首页 > 解决方案 > 在 Snowflake 中将多个 JSON 文件从舞台加载到表

问题描述

我在一个内部命名阶段中有几百个文件,我需要将它们移动到雪花表。处于阶段的文件的名称中有一个模式,

file1.json
file2.json
file3.json
...

我正在尝试创建一个查询,该查询将在目标表中一次加载所有文件,因为我们可以在 snowSQL 中使用带有 * 的 PUT 命令。我正在尝试将以下副本运行到查询中,但结果显示为

复制执行,处理了 0 个文件。

我正在尝试的查询是

copy into test_table (file_name, load_date, data) from (
    select
        metadata$filename,
        current_timestamp,
        f.$1
    from @stagename/file*.json f
)
    file_format = (
        type = json
            strip_outer_array = true
        )
    force=true ;

对此有何建议?谢谢

标签: sqlsnowflake-cloud-data-platform

解决方案


您没有正确使用该模式,它需要是这样的:

select metadata$filename, current_timestamp, f.$1 from @stagename (file_format => 'myformat', pattern=>'file.*[.]json') f;

推荐阅读