scala spark句柄带逗号的单引号字符

abithluo  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(592)

我正在用scala读取spark中的csv,在下面的示例中它正确地处理了第一行,但是在示例的第二行中,该行有一个结束引号字符,但是第一列没有前导引号字符。这会通过移动数据并输出而导致问题 bad|col 最后的结果,这是不正确的。

"good,col","good,col"
bad,col","good,col"

在使用scala读取spark中的文件时,是否有一个选项来处理选项规范中没有前导(或结束)引号的引号字符?

bd1hkmkf

bd1hkmkf1#

嗯。。。通过使用rdd和一些替代品,我可以得到你想要的。

val df = rdd.map(r => (r.replaceAll("\",\"", "|").replaceAll("\"", "").split("\\|"))).map{ case Array(a, b) => (a, b) }.toDF("col1", "col2")
df.show()

+--------+--------+
|    col1|    col2|
+--------+--------+
|good,col|good,col|
| bad,col|good,col|
+--------+--------+

相关问题