感谢您抽出时间回答这个问题。
我最近正在使用 Spark,我读到它认为 HDFS 中的一个分区 = Spark 中的一个分区。按照这个逻辑,很多情况下我们可能不会使用 HDFS 作为源。因此,如果我们使用 CSV 或任何其他基于文件的格式来读取数据,那么分区是如何分区的,或者更确切地说,由于没有显式分区,因此数据是如何分区的。
感谢您抽出时间回答这个问题。
我最近正在使用 Spark,我读到它认为 HDFS 中的一个分区 = Spark 中的一个分区。按照这个逻辑,很多情况下我们可能不会使用 HDFS 作为源。因此,如果我们使用 CSV 或任何其他基于文件的格式来读取数据,那么分区是如何分区的,或者更确切地说,由于没有显式分区,因此数据是如何分区的。
当你从 spark 读取 CSV 文件时,分区由此配置定义
spark.sql.files.maxPartitionBytes
,根据 [spark 文档] [1] 的默认设置134217728
例如,如果您设置
"spark.sql.files.maxPartitionBytes" ,"1024"
并读取 1mb 的 CSV 文件,您将拥有 1000 个分区 [1]:https://spark.apache.org/docs/latest/sql-performance-tuning.html#other-configuration-options