新年快乐!!!
我知道这种类似的问题之前已被提及/回答过,但是,我的不同之处在于:
我有100多个字段和100MB +的大尺寸csv,我想将它加载到Spark(1.6)进行分析,csv的标题看起来像附加的sample(只有一行数据)
非常感谢。
更新1(美国东部时间2016.12.31.1:26):
我使用以下方法并且能够加载数据(具有有限列的示例数据),但是,我需要自动将标题(来自csv)指定为DataFrame中的字段名称,但是, DataFrame看起来像:
>>> 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)
答案 0 :(得分:3)
如评论中所述,您可以将spark.read.csv用于spark 2.0.0+(https://spark.apache.org/docs/2.0.0/api/python/pyspark.sql.html)
df = spark.read.csv('your_file.csv', header=True, inferSchema=True)
将标题设置为 True 会将标题解析为数据帧的列名。将 inferSchema 设置为 True 将获得表架构(但会减慢读取速度)。