简体   繁体   English

Snowflake 中的复制命令无法解析数据中的 \\n

[英]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 message_id status地位 user_detail用户详细信息 date日期
a123bxe a123bxe Success成功 {user_name:'jim',full_name:'Jim Mathews'} {user_name:'jim',full_name:'Jim Mathews'} 2021-07-28 2021-07-28
b245apl b245apl Success成功 {user_name: '\\n153674@dewbbe',full_name:'Dev Webbe'} {user_name: '\\n153674@dewbbe',full_name:'Dev Webbe'} 2021-07-28 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.

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