我试着用sparkcsv库在hdfs文件上创建一个dataframe对象,如本教程所示。
但是当我尝试获取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");
当我查询like时,empdf object.printschema()将empid、empname作为字符串字段给出正确的模式,我可以看到分隔符被正确读取。
但是,当我尝试使用显示Dataframe时,empdf.show只给出列标题,其中没有数据,当我使用empdf.count时,给出0条记录。
如果我错过了这里非常需要做的事情,请纠正我。
1条答案
按热度按时间slmsl1lt1#
确保
spark-csv
版本和构建spark分布的scala版本是相同的。例如,如果您的spark发行版是用scala2.10(databricks预构建spark发行版的默认scala版本)构建的,那么您将需要
spark-csv_2.10
-版本spark-csv_2.11
(在提到的教程中显示)将不起作用,并且将返回一个只有列名的空Dataframe-请参阅我对这个问题的回答,以了解类似的情况。