开发者社区> 问答> 正文

从csv计数Spark数据帧,返回错误的结果

我在Spark 2.2中打开了几个“csv”文件,但是当我执行“计数”时它会返回10000000条记录,而实际上它是6000000条记录,当我在python或Alteryx中使用Pandas检查它时,它会给出正确的数字。

scala> val df=spark.read.format("com.databricks.spark.csv").option("header", "true").option("inferSchema","true").option("encoding", "UTF-8").load("/detalle/*.csv")
df: org.apache.spark.sql.DataFrame = [KEY: string, UNIQ: string ... 101 more fields]

scala> df.count
res13: Long = 10093371

展开
收起
社区小助手 2018-12-06 11:58:41 3050 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    你的数据可能包含嵌入的换行符。
    在版本2.3中引入了下半部分的代码,尽管它有大约1000个不同的记录,但在版本2.2中,这是不同的。 val df = spark.read.option("wholeFile", true).option("multiline",true).option("header", true).option("inferSchema", "true").option("delimiter", ",").option("mode", "DROPMALFORMED").csv("/detalle/*.csv")

    2019-07-17 23:18:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载