Ana*_*les 5 pyspark databricks azure-databricks delta-lake databricks-sql
我有两个数据框(来自三角洲湖表),它们通过 id 列进行左连接。
SD1、SD2
%sql
select
a.columnA,
b.columnB,
from sd1 a
left outer join sd2 b
on a.id = b.id
Run Code Online (Sandbox Code Playgroud)
问题是我的查询需要很长时间,寻找改进结果的方法我找到了OPTIMIZE ZORDER BY
Youtube视频
根据视频,如果列将成为where条件的一部分,则在对列进行排序时似乎很有用。
但由于两个数据帧在连接条件中使用 id,因此对该列进行排序是否有趣?
spark.sql(f'OPTIMIZE delta.`{sd1_delta_table_path}` ZORDER BY (id)')
Run Code Online (Sandbox Code Playgroud)
我脑海中遵循的逻辑是,如果我们首先订购该列,那么寻找它们进行匹配所需的时间就会更少。它是否正确 ?
提前致谢
归档时间: |
|
查看次数: |
6659 次 |
最近记录: |