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 get hun voordelen eenvoudig met behulp van Azure Databricks. Daarnaast is voor de meeste Databricks Runtime-functies Delta Lake vereist, de standaardindeling die wordt gebruikt om tables te maken in Azure Databricks.
Azure Databricks configureert standaard values die de meeste workloads optimize aankunnen. 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.
- schijfcache herhaalde leesbewerkingen voor Parquet-gegevensbestanden versnelt door gegevens te laden op schijf volumes 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 herstellenZORDER
. - Apache Spark 3.0 heeft adaptieve queryuitvoering geïntroduceerd, wat verbeterde prestaties biedt voor veel bewerkingen.
Databricks-aanbevelingen voor verbeterde prestaties
- U kunt tables klonen in Azure Databricks om diepe of ondiepe kopieën van brongegevenssets te maken.
- De op kosten gebaseerde optimalisatie versnelt de queryprestaties door gebruik te maken van table statistieken.
- 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 bereik join optimalisatie.
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.