首页 > 解决方案 > 如何在雪花外部表中表达单行 json 文件

问题描述

这是我第一次尝试通过外部表将单行 json 文件加载到雪花中。这些文件大约 60MB 并存储在 s3 上。它包含嵌套记录、数组并且没有换行符。

现在我看不到外部表中的数据,但是,如果文件足够小,如 1MB,则外部表可以正常工作。我能找到的最接近的解决方案是this,但它没有为我提供足够的答案。该文件可以更大,我无法控制这些文件。

有没有办法解决这个问题?

谢谢!

编辑:看起来唯一有形的解决方案是使文件更小,因为 json 文件不是 ndjson。STRIP_OUTER_ARRAY 支持什么 JSON 格式?

标签: snowflake-cloud-data-platform

解决方案


如果您的嵌套记录被包装在一个外部数组中,您可以在 Stage 文件定义中使用 STRIP_OUTER_ARRAY 来删除它们,以便将外部数组中的每个 JSON 元素作为记录加载。您可以在表定义中包含使用 METADATA$FILENAME 来派生元素来自哪个文件。


推荐阅读