[英]Copy command in Snowflake failed to parse \n in data
I have a CSV file format data that brings string values and JSON entries.我有一个带有字符串值和 JSON 条目的 CSV 文件格式数据。 For example -
例如 -
message_id ![]() |
status![]() |
user_detail![]() |
date![]() |
---|---|---|---|
a123bxe ![]() |
Success![]() |
{user_name:'jim',full_name:'Jim Mathews'} ![]() |
2021-07-28 ![]() |
b245apl ![]() |
Success![]() |
{user_name: '\\n153674@dewbbe',full_name:'Dev Webbe'} ![]() |
2021-07-28 ![]() |
The file has |该文件有 | as field delimiter \\n as a record delimiter.
作为字段分隔符\\n 作为记录分隔符。 Because of \\n coming in the data value, snowflake considers the rest as a new record and tries to enter the rest of the data under the table which eventually giving an error due to data type mismatch.
由于 \\n 传入数据值,snowflake 将其余数据视为新记录,并尝试将其余数据输入表下,最终由于数据类型不匹配而出错。
Here is the file format, I'm using:-这是文件格式,我正在使用:-
FILE_FORMAT = COMPRESSION = 'AUTO' FILE_FORMAT = 压缩 = '自动'
FIELD_DELIMITER = '|' FIELD_DELIMITER = '|'
RECORD_DELIMITER = '\\n' RECORD_DELIMITER = '\\n'
SKIP_HEADER = 0 SKIP_HEADER = 0
ESCAPE_UNENCLOSED_FIELD='\\n' ESCAPE_UNENCLOSED_FIELD='\\n'
VALIDATE_UTF8 = TRUE VALIDATE_UTF8 = 真
EMPTY_FIELD_AS_NULL = TRUE EMPTY_FIELD_AS_NULL = 真
TRIM_SPACE = TRUE TRIM_SPACE = 真
ERROR_ON_COLUMN_COUNT_MISMATCH = FALSE ERROR_ON_COLUMN_COUNT_MISMATCH = FALSE
NULL_IF = ('NULL', 'null','None','NONE',"""") NULL_IF = ('NULL', 'null','None','NONE',"""")
How should I escape the \\n coming as a part of data value?我应该如何转义 \\n 作为数据值的一部分?
尝试使用 FIELD_OPTIONALLY_ENCLOSED_BY 参数和单引号
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.