首页 > 解决方案 > CSV文件读取火花1.6

问题描述

我的 csv 文件看起来

123456

Name  age branch

Mahesh 21 ece

Pawan    22 cse

Count-21

它有标题(123456)和预告片(count-21)

我尝试使用 spark 1.6 创建的 spark 上下文来阅读它并阅读

Val df = spark.read.option("com.databrics.csv").option("header",false). option("inferSchema",false).load(path)
df.show()

而且我能够读取数据,但它只读取第一列

123456
Name  
Mahesh 
Pawan   
Count-21

剩下的不是阅读,我可以添加任何额外的选项。

运行 df.show() 时的预期输出

123456

Name  age branch

Mahesh 21 ece

Pawan    22 cse

Count-21

输出得到:

123456

Name  

Mahesh 

Pawan   

Count-21

标签: apache-spark

解决方案


您的输入文件不是一个好的 csv 文件。它不是逗号分隔的,这是 databricks 的默认值。如果文件是制表符分隔的,您可以使用.option("delimiter", "\t"). 字段的数量也不应该在行之间变化。Spark 无法从第一行判断文件中有多少字段。如果第一行可以用正确的字段数固定,并且字段之间的分隔符是一致的,那么您应该能够读取它。


推荐阅读