我正在尝试卸载redshift数据并使用spark读取它。但是与Redshift表中的原始记录相比,我在卸载的数据中获得了更多的行。发生这种情况是因为数据中有换行符。如何卸载数据,以便可以使用Spark安全地读取数据(不会遇到格式错误的记录问题)
一列的样本数据-
5.7.1 [23.253.182.55 18] Our system has detected that this message is
5.7.1 likely suspicious due to the very low reputation of the sending IP
5.7.1 address. To best protect our users from spam, the message has been
5.7.1 blocked. Please visit
5.7.1 https://support.google.com/mail/answer/188131 for more information. o68-v6si2862477itg.128 - gsmtp
我在卸载时尝试了以下三种组合,但没有运气-
ALLOWOVERWRITE分隔符'\ 001'转义;
ALLOWOVERWRITE分隔符'\ 001'转义添加引号;
ALLOWOVERWRITE分隔符'\ 001'添加引号;
答案 0 :(得分:2)
unload syntax需要使用select语句(任意查询)作为输入,而不仅仅是源表名称,因此您可以在查询中用空字符串或空格替换换行符:
replace(your_text_field,'\n',' ')