0

每个雪花:https : //docs.snowflake.net/manuals/user-guide/json-basics-tutorial-copy-into.html 我创建了一个目标表(Testing_JSON),这是一个包含上传 JSON 的单个 Variant 列文件。

我的问题是如何创建这个“目标表(即 Testing_JSON)”,它是一个单一的变体列,我必须引用它来创建我想要的实际且唯一的表(TABLE1),其中包含扁平化的 JSON。我发现无法从我的桌面读取 JSON 文件并“动态解析”以通过 UI 创建一个扁平表。不使用 CLI,因为我知道这可以使用 PUT/COPY INTO 来完成

create or replace temporary table TABLE1 AS
SELECT 
VALUE:col1::string AS COL_1,
VALUE:col2::string AS COL_2,
VALUE:col3::string AS COL_3

from TESTING_JSON 
  , lateral flatten( input => json:value);
4

2 回答 2

1

您将需要在桌面上通过几个步骤执行此操作。

  1. 使用 SnowSQL 或其他工具将 JSON 文件存储到 blob 存储: https ://docs.snowflake.net/manuals/sql-reference/sql/put.html
  2. 使用 COPY INTO 语句将数据直接加载到要加载到的展平表中。这将需要您的 COPY INTO 中的 SELECT 语句: https ://docs.snowflake.net/manuals/sql-reference/sql/copy-into-table.html

这里有一个很好的例子:

https://docs.snowflake.net/manuals/user-guide/querying-stage.html#example-3-querying-elements-in-a-json-file

于 2019-11-18T22:55:42.630 回答
1

您无法通过 UI 执行此操作。如果你想这样做,那么你需要在你的桌面上使用一个外部工具,或者——正如 Mike 提到的——在 COPY 语句中。

于 2019-11-19T12:57:02.063 回答