来自 json 列表的雪花外部 table

snowflake external table from a list of jsons

在我的 s3 存储桶中得到一个 file.json,它包含一个 json 的列表, 例如,当我下载它并用 python json load 解析它时,我得到一个列表:

[{'k': 'calendar#event'}, {'k': 'calendar#event'}]\

将其加载到外部 table 有效:

create external table if not exists TEST_111
with location = @TESt111
auto_refresh = true
file_format = (type = json);

但我得到的不是包含 2 行的 table,而是包含一个列表的一行, 有什么想法吗?

如果值以数组形式提供,则可以使用 strip_outer_array

create external table if not exists TEST_111
with location = @TESt111
auto_refresh = true
file_format = (type = json, STRIP_OUTER_ARRAY=TRUE);

此外,如果预先知道 json 键,它们可以直接在外部 table 的定义中公开为列:

create external table if not exists TEST_111
(
    filename    TEXT  metadata$filename
   ,k           TEXT  AS (value:"k"::TEXT)
)
with location = @TESt111
auto_refresh = true
file_format = (type = json, STRIP_OUTER_ARRAY=TRUE);