Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Not
Låg shuffle-sammanslagning är allmänt tillgänglig (GA) i Databricks Runtime 10.4 LTS och senare och i offentlig förhandsversion i Databricks Runtime 9.1 LTS. Databricks rekommenderar att förhandsversionskunder migrerar till Databricks Runtime 10.4 LTS eller senare.
Kommandot MERGE används för att utföra samtidiga uppdateringar, infogningar och borttagningar från en Delta Lake-tabell. Azure Databricks har en optimerad implementering av MERGE som förbättrar prestanda avsevärt för vanliga arbetsbelastningar genom att minska antalet shuffle-åtgärder.
Databricks low-shuffle-sammanslagning ger bättre prestanda genom att behandla oförändrade rader i ett separat, mer effektivt bearbetningsläge, i stället för att behandla dem tillsammans med de ändrade raderna. Därför minskas mängden blandade data avsevärt, vilket leder till bättre prestanda. Låg shuffle-sammanslagning minskar också behovet av att användarna behöver köra OPTIMIZE igen efter att de har utfört en MERGE-åtgärd.
Optimerad prestanda
Många MERGE arbetsuppgifter uppdaterar bara ett relativt litet antal rader i en tabell. Delta-tabeller kan dock bara uppdateras per fil. När kommandot MERGE behöver uppdatera eller ta bort ett litet antal rader som lagras i en viss fil måste det också bearbeta och skriva om alla återstående rader som lagras i samma fil, även om dessa rader är oförändrade. Låg blandningssammanslagning optimerar bearbetningen av oförändrade rader. Tidigare bearbetades de på samma sätt som ändrade rader, vilket skickade dem genom flera shuffle-steg och dyra beräkningar. I låg blandningssammanslagning bearbetas de oförändrade raderna i stället utan blandningar, dyr bearbetning eller andra extra kostnader.
Optimerad data-layout
Låg blandningssammanslagning går snabbare att köra och gynnar efterföljande åtgärder. Den tidigare MERGE implementeringen ändrade datalayouten för oförändrade data helt och hållet, vilket nedgraderade prestanda för efterföljande åtgärder. Låg shuffle-sammanslagning bevarar, på bästa sätt, den befintliga datalayouten för de oförändrade posterna, inklusive flytande klustringslayout. Prestandan försämras långsammare efter att ett eller flera MERGE-kommandon har körts.
Not
Låg blandningssammanslagning försöker bevara datalayouten på befintliga data som inte har ändrats. Datalayouten för uppdaterade eller nyligen infogade data kanske inte är optimal, så det kan fortfarande vara nödvändigt att köra OPTIMIZE på tabeller med flytande klustring aktiverat.
Tillgänglighet
Låg omblandningssammanslagning är aktiverad som standardinställning i Databricks Runtime 10.4 och senare. I tidigare Versioner av Databricks Runtime som stöds kan det aktiveras genom att konfigurera konfigurationen spark.databricks.delta.merge.enableLowShuffle till true. Den här flaggan har ingen effekt i Databricks Runtime 10.4 och senare.
Äldre Z-beställning
För tabeller med Z-ordning försöker låg shuffle-sammanslagning också bevara den befintliga Z-orderlayouten på oförändrade data på bästa sätt. Datalayouten för uppdaterade eller nyligen infogade data kanske inte är optimal, så det kan fortfarande vara nödvändigt att köra OPTIMIZE ZORDER BY efter en MERGE åtgärd. Databricks rekommenderar att du använder flytande kluster för alla nya tabeller.