Aanbevelingen voor optimalisatie in Azure Databricks

Azure Databricks biedt veel optimalisaties die ondersteuning bieden voor verschillende workloads op het lakehouse, variërend van grootschalige ETL-verwerking tot ad-hoc, interactieve query's. Veel van deze optimalisaties vinden automatisch plaats. U profiteert eenvoudig van de voordelen van Azure Databricks. Daarnaast is voor de meeste Functies van Databricks Runtime Delta Lake vereist, de standaardopslaglaag 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 worden de prestaties verbeterd door configuratie-instellingen te wijzigen.

Prestatieverbeteringen voor Databricks Runtime

Opmerking

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 tegen Parquet-gegevensbestanden door gegevens te laden op schijfvolumes die zijn gekoppeld aan rekenclusters.
  • Dynamisch verwijderen van bestanden verbetert de prestaties van query's door mappen over te slaan die geen gegevensbestanden bevatten die overeenkomen met querypredicaten.
  • Samenvoegen met een lage willekeurige volgorde vermindert het aantal gegevensbestanden dat door MERGE bewerkingen wordt herschreven en vermindert de noodzaak om clusters opnieuw te schalen ZORDER .
  • Apache Spark 3.0 heeft de uitvoering van adaptieve query's geïntroduceerd, wat verbeterde prestaties biedt voor veel bewerkingen.

Aanbevelingen voor Databricks voor verbeterde prestaties

  • U kunt tabellen in Azure Databricks klonen om diepe of ondiepe kopieën van brongegevenssets te maken.
  • Het optimalisatieprogramma op basis van kosten versnelt de queryprestaties door gebruik te maken van tabelstatistieken.
  • U kunt Spark SQL gebruiken om te communiceren met semi-gestructureerde JSON-gegevens zonder tekenreeksen te parseren.
  • Functies van een hogere volgorde bieden ingebouwde, geoptimaliseerde prestaties voor veel bewerkingen die geen algemene Spark-operators hebben. Hogere volgordefuncties 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 handmatig afstemmen voor joins die bereiken bevatten of gegevens bevatten met substaniale scheefheid.

Aanmeldingsgedrag

  • Azure Databricks biedt standaard een isolatiegarantie voor schrijfserialisatie; Als u het isolatieniveau wijzigt in serialiseerbaar, kan de doorvoer voor gelijktijdige bewerkingen worden verminderd, maar dit kan nodig zijn wanneer serialiseerbaarheid van leesbewerkingen 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.