在分区Spark DataFrame中使用多个列会使读取速度变慢吗?

问题描述 投票:0回答:1

我不知道在Spark中编写Spark DataFrame时是否使用多列会使将来的读取速度变慢?我知道用关键列进行分区以进行将来的过滤可以提高读取性能,但是拥有多个列(甚至是那些不能用于过滤的列)会有什么影响?

示例将是:

(ordersDF
  .write
  .format("parquet")
  .mode("overwrite")
  .partitionBy("CustomerId", "OrderDate", .....) # <----------- add many columns
  .save("/storage/Orders_parquet"))

我不知道在Spark中编写Spark DataFrame时是否使用多列会使将来的读取速度变慢?我知道使用关键列进行分区以进行将来的过滤可以提高读取性能,但是...

apache-spark apache-spark-sql
1个回答
-1
投票

是,因为火花必须随机播放和填充简短数据才能进行分区。

© www.soinside.com 2019 - 2024. All rights reserved.