如何处理 Snowpipe (SNOWFLAKE) 中的特殊字符
How to handle special characters in Snowpipe (SNOWFLAKE)
(在 SO 中发布此问答序列,因为我确定一些新用户可能 运行 进入类似的 "speed bumps"。-G)
如何处理 Snowpipe 中的特殊字符
我正在基于 csv 文件创建雪管。我的 csv 文件在几列中包含特殊字符。请让我知道如何在 snowpipe 中编写 select 语句来处理任何特殊字符。
snowpipe命令嵌入了copy语句,其中可以包含一个select语句(转换),我们可以使用字符串函数去除特殊字符。
/* 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 ] } ) ]
以上命令是以下命令的一部分 url "https://docs.snowflake.net/manuals/sql-reference/sql/copy-into-table.html".
注意:我很想知道是否有其他人成功地使用了替代解决方案...-G
要处理特殊字符,您需要对其进行转义。
有两种方法可以转义特殊字符,但不幸的是,每种方法都需要您修改文件
1) 你可以通过复制一个特殊字符来转义它(所以要转义 ' 你把它变成 '')
2) 在定义文件格式时,您可以添加 ESCAPE
参数来定义显式转义字符。例如,您可以使用 ESCAPE='\'
,然后在每个要转义的特殊字符前添加一个 \
字符。
(在 SO 中发布此问答序列,因为我确定一些新用户可能 运行 进入类似的 "speed bumps"。-G)
如何处理 Snowpipe 中的特殊字符
我正在基于 csv 文件创建雪管。我的 csv 文件在几列中包含特殊字符。请让我知道如何在 snowpipe 中编写 select 语句来处理任何特殊字符。
snowpipe命令嵌入了copy语句,其中可以包含一个select语句(转换),我们可以使用字符串函数去除特殊字符。
/* 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 ] } ) ]
以上命令是以下命令的一部分 url "https://docs.snowflake.net/manuals/sql-reference/sql/copy-into-table.html".
注意:我很想知道是否有其他人成功地使用了替代解决方案...-G
要处理特殊字符,您需要对其进行转义。
有两种方法可以转义特殊字符,但不幸的是,每种方法都需要您修改文件
1) 你可以通过复制一个特殊字符来转义它(所以要转义 ' 你把它变成 '')
2) 在定义文件格式时,您可以添加 ESCAPE
参数来定义显式转义字符。例如,您可以使用 ESCAPE='\'
,然后在每个要转义的特殊字符前添加一个 \
字符。