Apache PySpark-在不扫描文件的情况下读取目录

时间:2018-08-07 22:07:14

标签: apache-spark pyspark apache-spark-sql google-cloud-storage

我们在Google存储器中存储着越来越多的日志数据湖。数据按日期(以及其他内容,例如env = production / staging)进行分区。想象一下路径gs://bucket/data/env=*/date=*

我们通过创建可稍后查询以进行处理的数据框来开始应用或分析。问题在于,甚至在我们对它们执行操作之前,创建DF都需要很长时间。换句话说,以下命令需要花费很长时间,因为Spark似乎正在扫描其中的所有文件(并且正如我提到的,数据量一直在增长)。

df = spark.read.load("gs://bucket/data/", schema=data_schema, format="json")

请注意,我们在此处提供架构。同样,在加载数据后,分区工作良好,也就是说,如果按天过滤,则确实可以达到预期的速度。我们不想从一开始就读取特定的分区,我们希望将所有内容都放在一个DF中,然后只读取以后需要的内容。

0 个答案:

没有答案