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

问题描述

我有一个带有字符串值和 JSON 条目的 CSV 文件格式数据。例如 -

message_id 状态 user_detail 日期
a123bxe 成功 {user_name:'jim',full_name:'Jim Mathews'} 2021-07-28
b245apl 成功 {user_name: '\n153674@dewbbe',full_name:'Dev Webbe'} 2021-07-28

文件有 |作为字段分隔符\n 作为记录分隔符。由于 \n 传入数据值,sNowflake 将其余数据视为新记录,并尝试将其余数据输入表下,最终由于数据类型不匹配而出错。

这是我使用的文件格式:-

FILE_FORMAT = COMPRESSION = ‘AUTO’

FIELD_DELIMITER = ‘|’

RECORD_DELIMITER = ‘\n’

SKIP_HEADER = 0

ESCAPE_UNENCLOSED_FIELD='\n'

VALIDATE_UTF8 = 真

EMPTY_FIELD_AS_NULL = 真

TRIM_SPACE = 真

ERROR_ON_COLUMN_COUNT_MISMATCH = FALSE

NULL_IF = (‘NULL’,‘null’,‘None’,‘NONE’,"""")

我应该如何转义 \n 作为数据值的一部分?

解决方法

尝试将 FIELD_OPTIONALLY_ENCLOSED_BY 参数与单引号一起使用