有关Azure Databricks的优化建议

Azure Databricks提供了许多优化,支持 Lakehouse 上的各种工作负载,从大规模 ETL 处理到即席、交互式查询。 其中许多优化是自动进行的。 只需使用Azure Databricks即可获得其优势。 此外,大多数 Databricks Runtime 功能都需要 Delta Lake,这是用于在Azure Databricks中创建表的默认格式。

Azure Databricks配置优化大多数工作负荷的默认值。 但在某些情况下,更改配置设置可以提高性能。

Databricks Runtime 性能增强

注意

使用最新的 Databricks Runtime 来获得最新的性能增强。 在 Databricks Runtime 10.4 LTS 和更高版本中默认已启用此处所述的所有行为。

  • 磁盘缓存通过将数据加载到附加至计算群集的磁盘卷来加速对 Parquet 数据文件的重复读取。
  • 动态文件修剪可以提高查询性能,它会跳过不包含与查询谓词匹配的数据文件的目录。
  • 低随机合并 可减少由 MERGE 操作重写的数据文件数,并减少合并后重新运行 OPTIMIZE 的需求。
  • Apache Spark 3.0 引入了自适应查询执行,为许多操作提供增强的性能。

Databricks 增强的性能建议

  • 可以在 Azure Databricks 上 clone 表,以生成源数据集的深层副本或浅层副本。
  • 基于成本的优化器利用表统计信息来提高查询性能。
  • 你可以使用 Spark SQL 与 JSON 字符串进行交互,而无需分析字符串。
  • 高阶函数为许多没有通用 Spark 运算符的操作提供内置的优化性能。 与用户定义的函数相比,高阶函数的性能优势更好。
  • Azure Databricks提供了许多内置运算符和特殊语法,用于处理 complex 数据类型,包括数组、结构和 JSON 字符串。
  • 可以手动调整范围联接的设置。 请参阅范围联接优化

自愿参与行为