【以下的问题经过翻译处理】 我们正在使用UNLOAD命令以TSV格式将数据转储到S3中,然后使用其他程序进行读取。我们的UNLOAD命令如下所示:
UNLOAD ('SELECT column1, column2, column2 FROM some_table')
TO 's3://bucket/and/a/prefix/'
CREDENTIALS'aws_access_key_id = <put_access_key_id_here>; aws_secret_access_key = <put_secret_access_key_here>'
ALLOWOVERWRITE
NULL AS '$$NULL$$'
ESCAPE
ADDQUOTES
DELIMITER'\ t';
这种方法可以正常工作,但我们注意到当column1包含以下字符串时:“1% G”,它会破坏输出格式。
示例数据如下:
column1 = "some text 1% General more text"
column2 = 10
column3 = "whatever"
我们期望得到一个TSV,看起来像下面这样:
"some text 1% General more text"\t"10"\t"whatever"
而我们得到的是:
"some text 1-NANeneral more text\t"10"\t"whatever"
错误如下:
1.我们得到的TSV是不正确的-第一列未被引号包含。
2.1%G已变成1-NAN。