Regex 如何替换Impala拼花文件中的\n?

Regex 如何替换Impala拼花文件中的\n?,regex,hadoop,hdfs,impala,parquet,Regex,Hadoop,Hdfs,Impala,Parquet,我在Hive metastore的HDFS中以拼花格式存储了一些文本数据。每个观察可能包含也可能不包含\n作为文本本身的一部分。 我需要将这些数据导出到文本(制表符或逗号分隔的)文件中,以便在Python中进行进一步分析。 如果我对数据运行查询并保存到文本文件,我会得到: id,txt 1,我喜欢这个网站\n明天我会写更多 2、这个网站有多酷\n 在这一点上,我的行由于额外的\n。 我试图导出数据,但regexp_replace函数似乎没有产生我所期望的剥离: select id, regexp

我在Hive metastore的HDFS中以拼花格式存储了一些文本数据。每个观察可能包含也可能不包含\n作为文本本身的一部分。 我需要将这些数据导出到文本(制表符或逗号分隔的)文件中,以便在Python中进行进一步分析。 如果我对数据运行查询并保存到文本文件,我会得到:

id,txt 1,我喜欢这个网站\n明天我会写更多 2、这个网站有多酷\n

在这一点上,我的行由于额外的\n。 我试图导出数据,但regexp_replace函数似乎没有产生我所期望的剥离:

select id, regexp_replace(txt,'\\n',' ') as txt
from table
limit 1000

关于如何处理这个问题有什么想法吗?

类似的方法可能会奏效:
创建表tableB作为select id regexp_替换(txt,\\n,'')作为表中的txt关于
翻译(txt,\\r\\n\\f','')
只是为了确保你真的去除了所有类型的EOL?该死,S.O.文本格式化程序将3个空格合并为一个。我认为Samson的答案几乎包括了其他可能的行尾字符。我认为您需要使用像
[\\r\\v\\f |
这样的字符类或or'd捕获组
regexp_替换(text,“(\\n | \\r | \\f)”””)作为txt
来确保捕获所有内容。类似的操作可能会起作用:
创建表B作为选择id regexp_替换(txt,“\\n”,“)作为表中的txt;
translate(txt,\\r\\n\\f','')怎么样?
只是为了确保您真的去除了所有类型的EOL?该死,S.O.文本格式化程序将3个空格合并为一个空格。我想Samson的答案几乎包括了其他可能的行尾字符。我想您需要使用像
[\\r\\v\\f |
或一个or'd捕获组
regexp\u将(文本“(\\n | \\r |\\f)””)替换为txt
,以确保捕获所有内容。