Delen via


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 met behulp van Azure Databricks. Daarnaast vereisen de meeste Databricks Runtime-functies Delta Lake, 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 voor Parquet-gegevensbestanden door gegevens te laden naar schijfvolumes die zijn gekoppeld aan rekenclusters.
  • 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 minder clusters te herstellen ZORDER .
  • Apache Spark 3.0 heeft adaptieve queryuitvoering geïntroduceerd, wat verbeterde prestaties biedt voor veel bewerkingen.

Databricks-aanbevelingen voor verbeterde prestaties

  • U kunt tabellen in Azure Databricks klonen om diepe of ondiepe kopieën van brongegevenssets te maken.
  • De optimalisatie op basis van kosten versnelt de queryprestaties 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 operators en speciale syntaxis voor het werken met complexe gegevenstypen, waaronder matrices, structs en JSON-tekenreeksen.
  • U kunt instellingen voor bereikdeelnames handmatig afstemmen. Zie Optimalisatie van bereikdeelname.

Gedrag van opt-in

  • Azure Databricks biedt standaard een isolatiegarantie voor schrijfserialisatie; als u het isolatieniveau wijzigt in serialiseerbare bewerkingen, kan de doorvoer voor gelijktijdige bewerkingen worden verminderd, maar dit kan nodig zijn wanneer leesserialisatie is vereist.
  • U kunt bloeifilterindexen gebruiken om de kans te verkleinen dat gegevensbestanden worden gescand die geen records bevatten die overeenkomen met een bepaalde voorwaarde.