我在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
你的数据可能包含嵌入的换行符。
在版本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")
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。