如何加载包含多个要触发的字段的大型csv

如何加载包含多个要触发的字段的大型csv,csv,apache-spark,pyspark,Csv,Apache Spark,Pyspark,新年快乐 我知道这类类似的问题以前曾被问过/回答过,但我的问题不同: 我有100+字段和100MB+的大尺寸csv,我想将其加载到Spark(1.6)进行分析,csv的标题看起来像附加的(只有一行数据) 多谢各位 更新1(美国东部时间2016年12月31日下午1:26): 我使用以下方法并能够加载数据(列有限的示例数据),但是,我需要自动将标题(来自csv)指定为数据框中字段的名称,但是,数据框如下所示: 有人能告诉我怎么做吗?注意,任何手动方式都是我想要避免的 >>> im

新年快乐

我知道这类类似的问题以前曾被问过/回答过,但我的问题不同:

我有100+字段和100MB+的大尺寸csv,我想将其加载到Spark(1.6)进行分析,csv的标题看起来像附加的(只有一行数据)

多谢各位

更新1(美国东部时间2016年12月31日下午1:26):

我使用以下方法并能够加载数据(列有限的示例数据),但是,我需要自动将标题(来自csv)指定为数据框中字段的名称,但是,数据框如下所示:

有人能告诉我怎么做吗?注意,任何手动方式都是我想要避免的

>>> import csv
>>> rdd = sc.textFile('file:///root/Downloads/data/flight201601short.csv') 
>>> rdd = rdd.mapPartitions(lambda x: csv.reader(x))
>>> rdd.take(5) 
>>> df = rdd.toDF() 
>>> df.show(5) 

如评论中所述,您可以将spark.read.csv用于spark 2.0.0+()

将header设置为True将把header解析为dataframe的列名。将inferSchema设置为True将获得表架构(但会减慢读取速度)

另见此处:

使用标准方法加载此数据集时遇到什么问题?(例如:)谢谢。问题是100多个字段,显式添加所有字段是一项繁琐的工作,我相信应该有一种成熟的方法来处理它。请查看我上面提到的确切答案-如果您使用spark csv包来读取文件,则有
标题
选项可以轻松解决您的问题。谢谢
pyspark——packages com.databricks:spark-csv_2.10:1.4.0
解决spark 1.6中的问题谢谢,我在spark 1.6上,上面Mariusz的回答解决了这个问题。
df = spark.read.csv('your_file.csv', header=True, inferSchema=True)