【发布时间】:2023-03-09 15:14:01
【问题描述】:
加载 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'));
我可以看到this snowflake page 上的第一个示例具有我想要的 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.
【问题讨论】:
标签: c# json snowflake-cloud-data-platform