从csv计数Spark数据帧,返回错误的结果-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

社区小助手 2018-12-06 11:58:41 1025

我在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

分布式计算 Scala Spark Python
分享到
取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:18:30

    你的数据可能包含嵌入的换行符。
    在版本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")

    0 0
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题