新年快乐!!!
我知道以前曾提出/回答过此类类似的问题,但是,我的问题有所不同:
我有大尺寸的 csv,有 100+ 个字段和 100MB+,我想将其加载到 Spark (1.6) 进行分析,csv 的标题看起来像附件sample http://www.rocksled.com/wp-content/uploads/2016/12/flight201601_sample.csv(只有一行数据)
非常感谢。
更新 1(2016.12.31.1:26pm 美国东部时间):
我使用以下方法并且能够加载数据(具有有限列的示例数据),但是,我需要自动分配标题(来自 csv)作为 DataFrame 中的字段名称,但是,DataFrame 看起来像:
Can anyone tell me how to do it? Note, any manual manner is what I want to avoid.
>>> 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+(https://spark.apache.org/docs/2.0.0/api/python/pyspark.sql.html https://spark.apache.org/docs/2.0.0/api/python/pyspark.sql.html)
df = spark.read.csv('your_file.csv', header=True, inferSchema=True)
Setting header to True将把标题解析为数据帧的列名。环境推断模式 to True将获取表模式(但会减慢读取速度)。
另请参阅此处:使用 Spark 加载 CSV 文件 https://stackoverflow.com/questions/28782940/load-csv-file-with-spark
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)