如何在Spark中替换转义的换行符

Geethanadh

我有一个csv,未引用,在下面添加了一个示例

如第二行所示,新行用\进行转义,有一种方法可以使用apache spark将其替换为其他字符。

输入CSV

Banana,23,Male,5,11,2017
Cat,32,Fe\
male,2,11,2017
Dragon,28,Male,1,11,2017

预期产量

Banana,23,Male,5,11,2017
Cat,32,Fe-male,2,11,2017
Dragon,28,Male,1,11,2017

注意:原始文件很大(大约40GB)

编辑1我刚刚找到一个答案,而不是“ sc.textFile”使用“ sc。WholeTextFiles”,但是鉴于我的大小太大,我不确定它是否可以提高内存效率,请告知

Geethanadh

经过一番研究和解决,这就是我来到的地方

正如@ vikrant-rana在答案中建议的那样,使用sc.textFile()进行读取并在分区上进行映射是一种尝试的方法,但是由于我们需要合并的行可能会转到不同的分区,因此这不是一个可靠的解决方案..有时当它们位于同一分区上时可能会起作用,但并不总是起作用

我们也可以使用sc.wholeTextFiles()将文件读入单个分区并在其上进行映射,但是那样会立即将整个文件读入内存,不适用于大文件

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章