繁体   English   中英

雪花数据库:在 COPY INTO 语句中使用 VALIDATION_MODE 从外部阶段加载 JSON 文件

[英]Snowflake Database : Loading JSON file from external stage with VALIDATION_MODE in COPY INTO statement

加载CSV 时,可以选择将 VALIDATION_MODE 与 COPY INTO 命令一起使用。 这将为我们提供该 csv 中所有记录中的错误列表。

COPY INTO "PUBLIC"."TableCSV"
FROM @my_csv_stage
FILES = ('TableCSV.csv')
VALIDATION_MODE = 'RETURN_ERRORS';

加载JSON 时,所有这些都不起作用:

COPY INTO "PUBLIC"."TableJSON1"
FROM @my_json_stage
FILES = ('TableJSON1.json')
MATCH_BY_COLUMN_NAME = CASE_SENSITIVE
VALIDATION_MODE = 'RETURN_ERRORS';
COPY INTO "PUBLIC"."TableJSON2"
FROM (
    SELECT $1:"col1" :: VARCHAR
          ,$1:"col2" :: VARCHAR
      FROM @my_json_stage 
  )
FILES = ('TableJSON2.json')
VALIDATION_MODE = 'RETURN_ERRORS';
COPY INTO "PUBLIC"."TableJSON3"
FROM (
    SELECT $1:"col1" :: VARCHAR
          ,$1:"col2" :: VARCHAR
      FROM @my_json_stage 
  )
FILES = ('TableJSON3.json');
SELECT * FROM TABLE(VALIDATE("TableJSON3", job_id => '_last'));

我可以看到这个雪花页面上的第一个示例具有我想要的 JSON 确切表,但是当我执行时

SELECT * FROM TABLE(VALIDATE("TableJSON3", job_id => '_last'));

它给了我这个错误:

SQL compilation error: JSON/XML/AVRO file format can produce one and only one column of type variant or object or array. Use CSV file format if you want to load more than one column.

这是 Snowflake 中的一个已知问题。 工程团队已意识到该问题,他们正在积极努力解决问题。 目前在修复时间表上没有 ETA。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM