Apache spark ApachePySpark-读取目录而不扫描文件

Apache spark ApachePySpark-读取目录而不扫描文件,apache-spark,pyspark,apache-spark-sql,google-cloud-storage,Apache Spark,Pyspark,Apache Spark Sql,Google Cloud Storage,我们有一个不断增长的日志数据湖,我们保存在谷歌存储。数据按日期(以及其他内容,如env=production/staging)进行分区。想象一下路径gs://bucket/data/env=*/date=* 我们通过创建数据帧开始应用程序或分析,这些数据帧可以在以后查询以进行处理。问题是,创建DFs需要很长时间,甚至在我们对其执行操作之前。换句话说,下面的命令需要很长时间,因为Spark似乎正在扫描其中的所有文件(正如我提到的,数据量一直在增长) 注意,我们在这里提供了模式。此外,在加载数据之后

我们有一个不断增长的日志数据湖,我们保存在谷歌存储。数据按日期(以及其他内容,如env=production/staging)进行分区。想象一下路径
gs://bucket/data/env=*/date=*

我们通过创建数据帧开始应用程序或分析,这些数据帧可以在以后查询以进行处理。问题是,创建DFs需要很长时间,甚至在我们对其执行操作之前。换句话说,下面的命令需要很长时间,因为Spark似乎正在扫描其中的所有文件(正如我提到的,数据量一直在增长)


注意,我们在这里提供了模式。此外,在加载数据之后,分区工作得很好,也就是说,如果我们按天过滤,我们确实可以获得预期的速度。我们不想从一开始就读取一个特定的分区,我们希望在一个DF中读取所有内容,并在以后只读取我们需要的内容。

也许在循环加载不同的文件后,您可以使用
union
。当我加载DF时,这仍然会覆盖所有文件,不是吗?我正在努力减少加载时间。如果你必须读取所有文件,没有区别,你是对的。我以为你需要阅读某些文件。
df = spark.read.load("gs://bucket/data/", schema=data_schema, format="json")