(在SO中发布此Q&A序列,因为我确定有些新用户可能会遇到类似的“减速” -G)
如何在Snowpipe中处理特殊字符
我正在基于csv文件创建Snowpipe。我的csv文件在几列中包含特殊字符。请让我知道如何在Snowpipe中编写select语句,该语句将处理所有特殊字符。
答案 0 :(得分:1)
要处理特殊字符,您需要对其进行转义。
有2种转义特殊字符的方法,但不幸的是,每种方法都需要您修改文件
1)您可以通过复制特殊字符来对其进行转义(以便对''使其改成'')
2)在定义文件格式时,可以添加ESCAPE
参数来定义一个显式转义字符。例如,您可以使用ESCAPE='\\'
,然后在要转义的每个特殊字符之前添加一个\
字符。
答案 1 :(得分:0)
snowpipe命令嵌入了可以包含select语句(转换)的copy语句,并且我们可以使用字符串函数来删除特殊字符。
/* Data load with transformation */
COPY INTO [<namespace>.]<table_name> [ ( <col_name> [ , <col_name> ... ] ) ]
FROM ( SELECT [<alias>.]$<file_col_num>[.<element>] [ , [<alias>.]$<file_col_num>[.<element>] ... ]
FROM { internalStage | externalStage } )
[ FILES = ( '<file_name>' [ , '<file_name>' ] [ , ... ] ) ]
[ PATTERN = '<regex_pattern>' ]
[ FILE_FORMAT = ( { FORMAT_NAME = '[<namespace>.]<file_format_name>' |
TYPE = { CSV | JSON | AVRO | ORC | PARQUET | XML } [ formatTypeOptions ] } ) ]
以上命令是以下网址“ https://docs.snowflake.net/manuals/sql-reference/sql/copy-into-table.html”的一部分。
注意:我很想看看是否有人成功使用了替代解决方案... -G