0

我试图使用 spark csv lib 在 hdfs 文件上创建一个数据框对象,如本教程所示。

但是当我试图获取 DataFrame 对象的计数时,它显示为 0

这是我的文件的样子,

员工.csv:

empid,empname
1000,Tom
2000,Jerry

我使用加载了上述文件,

val empDf = sqlContext.read.format("com.databricks.spark.csv").option("header","true").option("delimiter",",").load("hdfs:///user/.../employee.csv");

当我查询时,empDf object.printSchema() 给出了正确的模式,其中 empid,empname 作为字符串字段,我可以看到分隔符被正确读取。

但是当我尝试使用显示数据帧时,empDf.show 只给出列标题而没有数据,当我做 empDf.count 给出 0 条记录时。

如果我错过了这里非常需要做的事情,请纠正我。

4

1 回答 1

0

确保spark-csv构建 Spark 发行版的版本和 Scala 版本相同。

例如,如果您的 Spark 发行版是使用 Scala 2.10(Databricks 预构建 Spark 发行版的默认 Scala 版本)构建的,您将需要spark-csv_2.10- 版本spark-csv_2.11(如上述教程中所示)将不起作用,并且将返回一个只有列名的空数据框-对于类似的情况,请参阅我对这个 SO 问题的回答。

于 2016-08-16T17:19:19.430 回答