一、此篇博客主要记录在此次从hive表中查询数据导入到csv文件中,因为某个字符串字段中含有大量的换行符导致存入在csv文件中的数据出现了换行、错位的情况,以此记录
二、最终实现sql如下:
hive -e "set hive.cli.print.header=true; SELECT id,msg_id,regexp_replace(msg_title,'\\\\n|\\n|\\r|\\\\r','') as msg_title,regexp_replace(msg_content,'\\\\n|\\n|\\r|\\\\r','') as msg_content,msg_time,msg_classify from gov_ods.mps_message_full_delta WHERE msg_time >= '2020-03-07'" | sed 's/\t/||/g' > message_full.csv
注:由上指令可以看出是msg_title和msg_content字段出现了换行符,在hive sql中使用了regexp_replace()函数去实现了替换,替换内容:\\\\n|\\n|\\r|\\\\r 替换成''