Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Delta Lake werkt een tabel bij door volledige databestanden te herschrijven. Wanneer een MERGE-commando een paar rijen in een bestand bijwerkt of verwijdert, moet het ook elke ongewijzigde rij in dat bestand herschrijven. Zonder low shuffle merge passeren die ongemodificeerde rijen dezelfde shuffle-fasen als de aangepaste rijen. Dit maakt MERGE trager en verstoort de bestaande datalay-out, waardoor latere queries ook vertragen.
Low shuffle merge is de geoptimaliseerde Azure Databricks-implementatie van MERGE. Het verwerkt ongemodificeerde rijen apart van gewijzigde rijen, zonder shuffle-bewerkingen of andere dure berekeningen. Daardoor verplaatst MERGE veel minder data en werkt het sneller.
Low shuffle merge staat standaard in, dus je hoeft je MERGE statements niet te wijzigen om ervan te profiteren. Het helpt het meest wanneer een MERGE een relatief klein aantal rijen in een grote tabel bijwerkt.
Data-indeling na een samenvoeging
De eerdere MERGE implementatie veranderde de data-indeling van ongewijzigde data volledig, wat latere operaties vertraagde. Low shuffle merge probeert de bestaande lay-out van ongewijzigde rijen te behouden, inclusief liquid clustering-layout . Daardoor gaat de prestatie langzamer achteruit na één of meer MERGE commando's, en hoef je OPTIMIZE minder vaak uit te voeren.
De indeling van bijgewerkte of nieuw ingevoegde rijen is mogelijk niet optimaal. Je moet OPTIMIZE misschien nog steeds uitvoeren op tabellen met liquid clustering ingeschakeld.
Voor tabellen die Z-ordening gebruiken, probeert low shuffle merge ook de bestaande Z-order indeling van ongewijzigde rijen te behouden. Je moet misschien nog steeds ZORDER BY draaienOPTIMIZE na een MERGE operatie. Databricks raadt het gebruik van vloeibare clustering aan voor alle nieuwe tabellen.