我有一个带有以下结构的 csv 文件
Name | Val1 | Val2 | Val3 | Val4 | Val5
John 1 2
Joe 1 2
David 1 2 10 11
我可以将其加载到 RDD 中。我尝试创建一个架构,然后创建一个Dataframe
从中得到一个indexOutOfBound
error.
代码是这样的......
val rowRDD = fileRDD.map(p => Row(p(0), p(1), p(2), p(3), p(4), p(5), p(6) )
当我尝试执行某项操作时rowRDD
,给出错误。
任何帮助是极大的赞赏。
这不是你问题的答案。但它可能有助于解决您的问题。
从问题中我看到您正在尝试从 CSV 创建数据框。
使用 CSV 创建数据框可以轻松完成Spark-csv package
使用下面的 Spark-csv scala 代码可用于读取 CSVval df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").load(csvFilePath)
对于您的示例数据,我得到以下结果
+-----+----+----+----+----+----+
| Name|Val1|Val2|Val3|Val4|Val5|
+-----+----+----+----+----+----+
| John| 1| 2| | | |
| Joe| 1| 2| | | |
|David| 1| 2| | 10| 11|
+-----+----+----+----+----+----+
您还可以使用最新版本推断Schema。看到这个answer
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)