我正在读取一个包含许多空格的文件,并需要过滤掉这些空格。然后,我们需要将其转换为数据框。以下是示例输入。
2017123 ¦ ¦10¦running¦00000¦111¦-EXAMPLE
我解决这个问题的方法是编写以下函数,它将所有空格解析并修剪文件。
def truncateRDD(fileName : String): RDD[String] = {
val example = sc.textFile(fileName)
example.map(lines => lines.replaceAll("""[\t\p{Zs}]+""", ""))
}
然而,我不确定如何将其转换成数据帧。
sc.textFile
返回一个RDD[String]
。我尝试了使用案例类,但问题在于我们有800个字段模式,案例类不能超过22个。我在考虑将RDD [String]转换为RDD [Row],以便可以使用
createDataFrame
函数。val DF = spark.createDataFrame(rowRDD, schema)
有没有关于如何做到这一点的建议?