【问题标题】:How to load a large file in pySpark and then process it efficiently?如何在pySpark中加载一个大文件然后高效处理?
【发布时间】:2021-08-15 08:46:57
【问题描述】:

我存储了一个大文件。我想在 Databricks (pyspark) 中加载和处理这个文件。但是由于文件很大,一次加载整个文件然后处理它会效率低下。所以我想分部分加载这个文件,然后在下一部分加载时同时处理它。那么我怎样才能部分地阅读这个文件呢? 我想到的一个想法是使用结构化流。但在这方面,整个文件也被单批加载。那么如何分批加载呢?

【问题讨论】:

    标签: apache-spark pyspark databricks spark-structured-streaming


    【解决方案1】:

    如果所有数据都位于一个单个文件中,您无法让 Spark 避免扫描整个数据。

    在读取数据时,Spark 会根据配置spark.sql.files.maxPartitionBytes 将数据拆分为分区,默认为 128MB。根据得到的分区数以及 Spark 集群中可用的核心数,数据将被并行处理。

    【讨论】:

      猜你喜欢
      • 2015-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      • 2018-06-28
      • 1970-01-01
      相关资源
      最近更新 更多