【发布时间】:2017-06-13 09:09:02
【问题描述】:
我正在读取一个有很多空格并且需要过滤掉空格的文件。之后我们需要将其转换为数据框。下面的示例输入。
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)
关于如何做到这一点的任何建议?
【问题讨论】:
标签: scala hadoop apache-spark dataframe spark-dataframe