如何使用“ |”将数据读取为Rdd作为分隔符,但在pyspark中也具有'\ |“作为字符串值

时间:2018-08-14 09:21:43

标签: pyspark rdd

我正在尝试使用'|' as a delimiter来读取pyspark中的Rdd文件,但是这种情况发生了,甚至我的数据都包含字符'\|'作为字符串值(pipe with backslash),导致字段在读取数据时向右移动。

我尝试读取数据并替换为'\ |' ,但无法正常工作,并且出现错误

  

“ unicode”对象没有属性“ replaceAll”

这是我尝试过的

rdd = sc.textFile(s3_input_data_path).map(lambda line: line.replaceAll("\\\\\\|", " "))

有人可以帮我吗?

***已更新

我尝试过re并且似乎可以工作,但是有什么更好的解决方案,尤其是在读取大于20 GB的海量数据集时

rdd = sc.textFile(s3_input_data_path).map(lambda line: re.sub('\\\\\\|', '', line))

0 个答案:

没有答案