Aller au contenu principal

Recommandations d'optimisation sur Databricks

Databricks propose de nombreuses optimisations prenant en charge diverses charges de travail sur le lakehouse, allant du traitement ETL à grande échelle aux requêtes interactives et ad hoc. Nombre de ces optimisations s'effectuent automatiquement. Vous en tirez les avantages simplement en utilisant Databricks. De plus, la plupart des fonctionnalités de Databricks Runtime exigent Delta Lake, le format default utilisé pour créer des tables dans Databricks.

Databricks configure des valeurs default qui optimisent la plupart des charges de travail. Mais, dans certains cas, la modification des paramètres de configuration améliore les performances.

Améliorations des performances de Databricks Runtime

remarque

Utilisez la dernière version de Databricks Runtime pour tirer parti des dernières améliorations des performances. Tous les comportements documentés ici sont activés par default dans Databricks Runtime 10,4 LTS et versions ultérieures.

  • La mise en cache sur disque accélère les lectures répétées des fichiers de données Parquet en chargeant les données sur les volumes de disque attachés aux clusters de compute.
  • L'élagage dynamique de fichiers améliore les performances de la query en ignorant les répertoires qui ne contiennent pas de fichiers de données correspondant aux prédicats de la query.
  • Low shuffle merge réduit le nombre de fichiers de données réécrits par MERGE opérations et réduit la nécessité de réexécuter OPTIMIZE après les merge.
  • Apache Spark 3.0 a introduit l'exécution adaptative de query, qui offre des performances améliorées pour de nombreuses Opérations.

Recommandations Databricks pour des performances améliorées

  • Vous pouvez cloner des tables sur Databricks pour créer des copies complètes ou superficielles de jeux de données sources.
  • L'optimiseur basé sur les coûts accélère les performances de la query en exploitant les statistiques de table.
  • Vous pouvez utiliser Spark SQL pour interagir avec les chaînes JSON sans analyser les chaînes.
  • Les fonctions d'ordre supérieur offrent des performances intégrées et optimisées pour de nombreuses opérations qui ne disposent pas d'opérateurs Spark courants. Les fonctions d'ordre supérieur offrent un avantage en termes de performances par rapport aux fonctions définies par l'utilisateur.
  • Databricks fournit un certain nombre d'opérateurs intégrés et de syntaxes spéciales pour travailler avec des types de données complexes, y compris les tableaux, les structs et les chaînes JSON.
  • Vous pouvez régler manuellement les paramètres pour les jointures de plages. Consultez l'optimisation de la jointure de plage.

Comportements d'opt-in

  • Databricks fournit une garantie d'isolement sérialisable en écriture par default ; modifier le niveau d'isolement en sérialisable peut réduire le throughput pour les Opérations concurrentes, mais peut être nécessaire lorsque la sérialisabilité en lecture est requise.
  • Databricks a rendu obsolètes les index de filtre bloom. Utilisez les E/S prédictives ou le clustering liquide à la place.