Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 字符串。
- 可以手动调整范围联接的设置。 请参阅范围联接优化。
自愿参与行为
- 默认情况下,Azure Databricks 提供写可序列化隔离保证;在需要读取可序列化性时,可以将 隔离级别更改为可序列化,但这可能会降低并发操作的吞吐量。
- Azure Databricks已弃用 bloom 筛选器索引。 请改用 预测 I/O 或 液体聚类分析 。