我不知道在Spark中编写Spark DataFrame时是否使用多列会使将来的读取速度变慢?我知道用关键列进行分区以进行将来的过滤可以提高读取性能,但是拥有多个列(甚至是那些不能用于过滤的列)会有什么影响?
示例将是:
(ordersDF
.write
.format("parquet")
.mode("overwrite")
.partitionBy("CustomerId", "OrderDate", .....) # <----------- add many columns
.save("/storage/Orders_parquet"))
我不知道在Spark中编写Spark DataFrame时是否使用多列会使将来的读取速度变慢?我知道使用关键列进行分区以进行将来的过滤可以提高读取性能,但是...
是,因为火花必须随机播放和填充简短数据才能进行分区。