Aanbevelingen voor optimalisatie in Azure Databricks

Azure Databricks biedt veel optimalisaties die ondersteuning bieden voor verschillende workloads in lakehouse, variërend van grootschalige ETL-verwerking tot ad-hoc interactieve query's. Veel van deze optimalisaties vinden automatisch plaats. U krijgt hun voordelen eenvoudig door gebruik te maken van Azure Databricks. Daarnaast is voor de meeste Databricks Runtime-functies Delta Lake vereist, de standaardindeling die wordt gebruikt voor het maken van tabellen in Azure Databricks.

Azure Databricks configureert standaardwaarden waarmee de meeste workloads worden geoptimaliseerd. Maar in sommige gevallen verbetert het wijzigen van configuratie-instellingen de prestaties.

Prestatieverbeteringen in Databricks Runtime

Notitie

Gebruik de nieuwste Databricks Runtime om gebruik te maken van de nieuwste prestatieverbeteringen. Alle hier beschreven gedragingen zijn standaard ingeschakeld in Databricks Runtime 10.4 LTS en hoger.

  • Schijfcaching versnelt herhaalde leesbewerkingen op Parquet-gegevensbestanden door de gegevens te laden naar schijfvolumes die aan rekenclusters zijn gekoppeld.
  • Dynamische bestandssnoei verbetert de queryprestaties door mappen te overslaan die geen gegevensbestanden bevatten die overeenkomen met querypredicaten.
  • Met een lage shuffle-samenvoeging wordt het aantal gegevensbestanden verminderd dat door MERGE bewerkingen wordt herschreven en hoeft u na samenvoegingen niet opnieuw uit te voeren OPTIMIZE .
  • Apache Spark 3.0 heeft adaptieve queryuitvoering geïntroduceerd, wat verbeterde prestaties biedt voor veel bewerkingen.

Databricks-aanbevelingen voor verbeterde prestaties

  • U kunt tabellen klonen in Azure Databricks om diepe of oppervlakkige kopieën van brongegevenssets te maken.
  • De op kosten gebaseerde optimizer versnelt de prestaties van query's door gebruik te maken van tabelstatistieken.
  • U kunt Spark SQL gebruiken om te communiceren met JSON-tekenreeksen zonder tekenreeksen te parseren.
  • Functies met een hogere volgorde bieden ingebouwde, geoptimaliseerde prestaties voor veel bewerkingen die geen algemene Spark-operators hebben. Functies met een hogere volgorde bieden een prestatievoordeel ten opzichte van door de gebruiker gedefinieerde functies.
  • Azure Databricks biedt een aantal ingebouwde operatoren en speciale syntaxis voor het werken met complexe gegevenstypen, waaronder matrices, structs en JSON-tekenreeksen.
  • U kunt handmatig instellingen voor range joins afstemmen. Zie Bereikkoppeling optimalisatie.

Opt-in gedragingen

  • Azure Databricks biedt standaard een schrijfserialiseerbare isolatiegarantie; het wijzigen van het isolatieniveau naar serialiseerbaar kan de doorvoer voor gelijktijdige bewerkingen verminderen, maar het kan nodig zijn wanneer leesserialisatie is vereist.
  • Azure Databricks heeft Bloom-filterindexen afgeschaft. Gebruik in plaats daarvan voorspellende I/O - of vloeibare clustering .