Sql 使用新行字符红移将数据卸载到s3
我正在尝试使用unload命令将表从红移导出到s3 命令:Sql 使用新行字符红移将数据卸载到s3,sql,database,amazon-s3,amazon-redshift,Sql,Database,Amazon S3,Amazon Redshift,我正在尝试使用unload命令将表从红移导出到s3 命令: unload ('SELECT * FROM table where id = 4') TO 's3://path/temp/table1' credentials 'aws_access_key_id="ahsvdgsfadhsagdffjh;aws_secret_access_key=ahgsdasdhgsahdgsahdgsahdgsahgsa' delimiter '|' NULL AS '\\N' escape; 我表格中
unload ('SELECT * FROM table where id = 4') TO 's3://path/temp/table1'
credentials 'aws_access_key_id="ahsvdgsfadhsagdffjh;aws_secret_access_key=ahgsdasdhgsahdgsahdgsahdgsahgsa' delimiter '|' NULL
AS
'\\N' escape;
我表格中的一个字段包含新行,因此生成的csv将分成两行
是否有方法将新行替换为\n或添加行尾字符您应该删除
转义
,然后尝试添加引号
选项,它将生成正确的CSV。As“
将指示您的CSV阅读器将\n
视为逐字逐句,而不是换行
UNLOAD ('SELECT * FROM table where id = 4')
TO 's3://path/temp/table1'
credentials aws_access_key_id="ahsvdgsfadhsagdffjh;
aws_secret_access_key=ahgsdasdhgsahdgsahdgsahdgsahgsa'
delimiter '|'
NULL AS '\\N' ADDQUOTE;
已尝试添加引号所有字段都已用引号括起来,但仍会创建新行是的,新行将保留,我认为您不希望将其全部删除。对的否则,它将更改您的实际数据。但是,当您使用MSExcel
打开CSV时,单元格数据将正常可见它不会显示为新记录
。实际上,我必须使用LOAD DATA LOCAL Infle将其导入mysql。出于此目的,它不起作用事实上更容易,因为mysql导入确实支持它,请使用“
类似于的选项将数据本地填充“$file”加载到以“,”结尾的表$TABLE字段中,也可以选择以“,”结尾的行,以“\r\n”结尾的行忽略1行”