假设我有一张包含客户订单的表,仅按 date_transaction 分区。我想找到 date_transaction 的最大值。之前,我只是运行 spark.sql(\'SELE...
假设我有一张包含客户订单的表,仅按 进行分区 date_transaction
。我想找到 date_transaction
.
以前,我只是简单地跑了一下 spark.sql("SELECT MAX(date_transaction) FROM orders").first()
(简单的方法)。
我最近发现我可以使用 spark.sql("SHOW PARTITIONS orders").toPandas().max()
+ 一些字符串清理(显示分区方法)。
我注意到使用显示分区可以使过程更快,因为 Spark 不需要扫描整个表。
我能想到的一个缺点是,如果最大日期交易中没有数据,显示分区仍会返回它,而简单的方法将返回正确的日期(是否有空分区?)。
我想知道显示分区方法是否还有我没有想到的其他缺点。
我很感激您的意见。谢谢,祝您有愉快的一天。