雪花新手并且在将 JSON 文件加载到内部阶段然后将表加载时遇到问题

时间:2021-01-01 20:26:17

标签: json snowflake-cloud-data-platform loading snowflake-schema

我有一个 JSON 文件,我试图通过 SnowSQL 将其加载到 Snowflake。我有一个部分工作的 SQL 脚本。这是 JSON 文件的示例:

    {"year":"2011","_113_cause_name":"Nephritis, nephrotic syndrome and nephrosis (N00-     N07,N17-N19,N25-N27)","cause_name":"Kidney disease","state":"South Dakota","deaths":"49","aadr":"4.5"}

我在一个文件中有一系列 SQL 语句,然后我运行 fin SnowSQL CLI - 见下文:

enter code here

    /* create a table with variant column */
    CREATE TABLE IF NOT EXISTS CDC_SCHEMA.CDC_VAR
    (
       TEST_DATA VARIANT);
    /*create file format */
    create or replace file format CDC_DB.CDC_SCHEMA.sf_tut_csv_format
    field_delimiter = none
    record_delimiter = '\\n';

   create or replace temporary stage CDC_DB.CDC_SCHEMA.sf_tut_stage
   file_format = CDC_DB.CDC_SCHEMA.sf_tut_csv_format; 

   put file:///Users/rfrenkel/Downloads/LeadingCausesofDeath_noOA.json
   @CDC_DB.CDC_SCHEMA.sf_tut_stage; 

   copy into CDC_VAR
   from @CDC_DB.CDC_SCHEMA.sf_tut_stage/LeadingCausesofDeath_noOA.json.jz
   file_format = CDC_DB.CDC_SCHEMA.sf_tut_csv_format;

   SELECT * from CDC_VAR;

当我运行上面的 SQL 语句时 - 我在 CLI 中得到以下输出:

|状态 | |----------------------------------------------| | CDC_VAR 已存在,语句成功。 | +----------------------------------------------+ 产生了 1 行。已用时间:0.192s +------------------------------------------------- ----+
|状态 | |------------------------------------------------- ----| |成功创建文件格式 SF_TUT_CSV_FORMAT。 | +------------------------------------------------- ----+ 产生了 1 行。经过的时间:0.190s +----------------------------------------------+< br/> |状态 | |---------------------------------------------------------| |舞台区域 SF_TUT_STAGE 已成功创建。 | +-----------------------------------------------+ 产生了 1 行。已用时间:0.202s LeadCausesofDeath_noOA.json_c.gz(0.09MB):[##########] 100.00% 完成(1.973s,0.04MB/s)。 +--------------------------------+---------------- -----------+-------------+------------+-- -----------+--------------------+--------- +---------+ |来源 |目标 | source_size |目标尺寸| source_compression | target_compression |状态 |留言 | |--------------------------------+---------------- --------------------+-------------+------------+-- -----------+--------------------+--------- +---------| | LeadCausesofDeath_noOA.json | LeadCausesofDeath_noOA.json.gz | 1671572 | 91648 |无 |邮编 |已上传 | | +--------------------------------+---------------- -----------+-------------+------------+-- -----------+--------------------+--------- +---------+ 产生了 1 行。已用时间:4.028s +----------------------------------------------+
|状态 | |---------------------------------------| |复制执行,处理了 0 个文件。 | +----------------------------------------------+ 产生了 1 行。已用时间:1.221s +-----------+
| TEST_DATA | |-----------|

看起来 COPY 只在 CDC_VAR 中生成一行,当我通过图形界面查看它时,我没有看到任何数据。我不知道怎么了,我怀疑文件格式不正确。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

以防万一你在看到其他帖子之前看到这个...

stage 表上的文件格式是定界的。您想要创建 JSON 文件格式并指定该格式。

这里是文件格式和阶段表的代码。

create or replace file format CDC_DB.CDC_SCHEMA.JSON_FILE_FORMAT
TYPE = 'JSON'
COMPRESSION = 'AUTO' 
ENABLE_OCTAL = FALSE 
ALLOW_DUPLICATE = FALSE 
STRIP_OUTER_ARRAY = TRUE 
STRIP_NULL_VALUES = FALSE 
IGNORE_UTF8_ERRORS = FALSE;

create or replace stage CDC_DB.CDC_SCHEMA.sf_tut_stage
  file_format = CDC_DB.CDC_SCHEMA.JSON_FILE_FORMAT;