spark如何读取文本格式文件

时间:2017-01-05 09:44:35

标签: apache-spark pyspark spark-dataframe spark-csv

我在S3中有一个文本格式的数据集(.gz),我使用spark.read.csv将文件读入spark。

这是大约100GB的数据,但它包含150列。我只使用5列(所以我减少了数据的广度),我只选择了5列。

对于这种情况,spark会扫描完整的100GB数据,还是只扫描这5列而不扫描所有列(如柱状格式)?

对此有任何帮助将不胜感激。

imp_feed = spark.read.csv('s3://mys3-loc/input/', schema=impressionFeedSchema, sep='\t').where(col('dayserial_numeric').between(start_date_imp,max_date_imp)).select("col1","col2","col3","col4")

1 个答案:

答案 0 :(得分:0)

将您的工作流程的第1步设为读取CSV文件并将其另存为snappy压缩ORC或镶木地板文件的过程。

然后转到创建这些文件的人并告诉他们停止它。至少,他们应该切换到Avro + Snappy,因为更容易将初始解析和迁移分解为柱状格式。