【问题标题】:New to snowflake and having issues loading JSON file into internal stage and then the table雪花新手,在将 JSON 文件加载到内部阶段和表格时遇到问题
【发布时间】:2021-04-08 12:27:35
【问题描述】:

我有一个 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 +------------------------------------------------+ |状态 | |------------------------------------------------------------| |已成功创建舞台区域 SF_TUT_STAGE。 | +------------------------------------------------+ 产生了 1 行。经过时间:0.202s LeadingCausesofDeath_noOA.json_c.gz(0.09MB): [##########] 100.00% 完成 (1.973s, 0.04MB/s)。 +--------------------------------+---------------- -------------------+-------------+--------------+-- ------------------+--------------------+---------- +----------+ |来源 |目标 |源大小 |目标尺寸 |源压缩 |目标压缩 |状态 |留言 | |--------------------------------+---------------- -------------------+-------------+--------------+-- ------------------+--------------------+---------- +----------| | LeadingCausesofDeath_noOA.json | LeadingCausesofDeath_noOA.json.gz | 1671572 | 91648 |无 |压缩包 |已上传 | | +--------------------------------+---------------- -------------------+-------------+--------------+-- ------------------+--------------------+---------- +----------+ 产生了 1 行。经过时间:4.028s +----------------------------------------+
|状态 | |----------------------------------------| |执行复制,处理了 0 个文件。 | +----------------------------------------------------+ 产生了 1 行。经过时间:1.221s +-----------+
|测试数据 | |-----------|

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

【问题讨论】:

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


    【解决方案1】:

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

    stage table 上的文件格式是分隔的。您想创建一个 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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-03
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多