Wat is Delta Live Tables?

Delta Live Tables is een declaratief framework voor het bouwen van betrouwbare, onderhoudbare en testbare pijplijnen voor gegevensverwerking. U definieert de transformaties die moeten worden uitgevoerd op uw gegevens en Delta Live Tables beheert taakindeling, clusterbeheer, bewaking, gegevenskwaliteit en foutafhandeling.

Notitie

Voor Delta Live Tables is het Premium-abonnement vereist. Neem contact op met uw Databricks-accountteam voor meer informatie.

In plaats van uw gegevenspijplijnen te definiëren met behulp van een reeks afzonderlijke Apache Spark-taken, definieert u streamingtabellen en gerealiseerde weergaven die het systeem moet maken en up-to-date moeten houden. Delta Live Tables beheert hoe uw gegevens worden getransformeerd op basis van query's die u definieert voor elke verwerkingsstap. U kunt ook gegevenskwaliteit afdwingen met de verwachtingen van Delta Live Tables, waarmee u de verwachte gegevenskwaliteit kunt definiëren en kunt opgeven hoe u records verwerkt die niet voldoen aan deze verwachtingen.

Zie de productpagina van Delta Live Tables voor meer informatie over de voordelen van het bouwen en uitvoeren van uw ETL-pijplijnen met Delta Live Tables.

Wat zijn Gegevenssets voor Delta Live Tables?

Delta Live Tables-gegevenssets zijn de streamingtabellen, gerealiseerde weergaven en weergaven die worden onderhouden als de resultaten van declaratieve query's. In de volgende tabel wordt beschreven hoe elke gegevensset wordt verwerkt:

Gegevenssettype Hoe worden records verwerkt via gedefinieerde query's?
Streamingtabel Elke record wordt precies één keer verwerkt. Hierbij wordt ervan uitgegaan dat er een bron voor alleen-toevoegen is.
Gerealiseerde weergaven Records worden naar behoefte verwerkt om nauwkeurige resultaten te retourneren voor de huidige gegevensstatus. Gerealiseerde weergaven moeten worden gebruikt voor gegevensverwerkingstaken, zoals transformaties, aggregaties of pre-computing van trage query's en veelgebruikte berekeningen.
Weergaven Records worden telkens verwerkt wanneer de weergave wordt opgevraagd. Gebruik weergaven voor tussenliggende transformaties en controles van gegevenskwaliteit die niet mogen worden gepubliceerd naar openbare gegevenssets.

De volgende secties bevatten gedetailleerdere beschrijvingen van elk type gegevensset. Zie Wanneer u weergaven, gerealiseerde weergaven en streamingtabellen gebruikt voor meer informatie over het selecteren van gegevenssettypen om uw vereisten voor gegevensverwerking te implementeren.

Streamingtabel

Een streamingtabel is een Delta-tabel met extra ondersteuning voor streaming of incrementele gegevensverwerking. Met streamingtabellen kunt u een groeiende gegevensset verwerken, waardoor elke rij slechts één keer wordt verwerkt. Omdat de meeste gegevenssets in de loop van de tijd continu groeien, zijn streamingtabellen geschikt voor de meeste opnameworkloads. Streamingtabellen zijn optimaal voor pijplijnen waarvoor nieuwe gegevens en lage latentie nodig zijn. Streamingtabellen kunnen ook handig zijn voor grootschalige transformaties, omdat resultaten incrementeel kunnen worden berekend wanneer nieuwe gegevens binnenkomen, zodat de resultaten up-to-date blijven zonder dat alle brongegevens volledig hoeven te worden gecomputeerd met elke update. Streamingtabellen zijn ontworpen voor gegevensbronnen die alleen worden toegevoegd.

Notitie

Hoewel voor streamingtabellen standaard alleen gegevensbronnen moeten worden toegevoegd, kunt u dit gedrag negeren met de vlag skipChangeCommits wanneer een streamingbron een andere streamingtabel is waarvoor updates of verwijderingen zijn vereist.

Gerealiseerde weergave

Een gerealiseerde weergave (of livetabel) is een weergave waarin de resultaten vooraf zijn gecomputeerd. Gerealiseerde weergaven worden vernieuwd volgens het updateschema van de pijplijn waarin ze zijn opgenomen. Gerealiseerde weergaven zijn krachtig omdat ze wijzigingen in de invoer kunnen verwerken. Telkens wanneer de pijplijn wordt bijgewerkt, worden queryresultaten opnieuw berekend om wijzigingen in upstream-gegevenssets weer te geven die mogelijk zijn opgetreden vanwege naleving, correcties, aggregaties of algemene CDC. Delta Live Tables implementeert gerealiseerde weergaven als Delta-tabellen, maar abstraheert complexiteiten die zijn gekoppeld aan een efficiënte toepassing van updates, zodat gebruikers zich kunnen concentreren op het schrijven van query's.

Weergaven

Alle weergaven in Azure Databricks-rekenresultaten van brongegevenssets wanneer ze worden opgevraagd, waarbij gebruik wordt gemaakt van cachingoptimalisaties wanneer deze beschikbaar zijn. Delta Live Tables publiceert geen weergaven naar de catalogus, zodat alleen naar weergaven kan worden verwezen binnen de pijplijn waarin ze zijn gedefinieerd. Weergaven zijn handig als tussenliggende query's die niet zichtbaar moeten zijn voor eindgebruikers of systemen. Databricks raadt aan om weergaven te gebruiken om beperkingen van gegevenskwaliteit af te dwingen of gegevenssets te transformeren en verrijken die meerdere downstreamquery's stimuleren.

Uw eerste gegevenssets declareren in Delta Live Tables

Delta Live Tables introduceert nieuwe syntaxis voor Python en SQL. Zie de Python- en SQL-voorbeelden in zelfstudie: Uw eerste Delta Live Tables-pijplijn uitvoeren om aan de slag te gaan met de syntaxis van Delta Live Tables.

Notitie

Delta Live Tables scheidt gegevenssetdefinities van updateverwerking en Delta Live Tables-notebooks zijn niet bedoeld voor interactieve uitvoering. Zie Wat is een Delta Live Tables-pijplijn?

Wat is een Delta Live Tables-pijplijn?

Een pijplijn is de belangrijkste eenheid die wordt gebruikt voor het configureren en uitvoeren van werkstromen voor gegevensverwerking met Delta Live Tables.

Een pijplijn bevat gerealiseerde weergaven en streamingtabellen die zijn gedeclareerd in Python- of SQL-bronbestanden. Delta Live Tables zorgt ervoor dat de afhankelijkheden tussen deze tabellen worden afgeleid, zodat updates in de juiste volgorde worden uitgevoerd. Voor elke gegevensset vergelijkt Delta Live Tables de huidige status met de gewenste status en gaat u verder met het maken of bijwerken van gegevenssets met behulp van efficiënte verwerkingsmethoden.

De instellingen van Delta Live Tables-pijplijnen zijn onderverdeeld in twee algemene categorieën:

  1. Configuraties die een verzameling notebooks of bestanden (ook wel broncode of bibliotheken genoemd) definiëren die de syntaxis van Delta Live Tables gebruiken om gegevenssets te declareren.
  2. Configuraties voor het beheren van de pijplijninfrastructuur, afhankelijkheidsbeheer, hoe updates worden verwerkt en hoe tabellen worden opgeslagen in de werkruimte.

De meeste configuraties zijn optioneel, maar sommige vereisen zorgvuldige aandacht, met name bij het configureren van productiepijplijnen. Dit zijn onder meer de volgende:

  • Als u gegevens buiten de pijplijn beschikbaar wilt maken, moet u een doelschema declareren om te publiceren naar de Hive-metastore of een doelcatalogus en doelschema om te publiceren naar Unity Catalog.
  • Machtigingen voor gegevenstoegang worden geconfigureerd via het cluster dat wordt gebruikt voor uitvoering. Zorg ervoor dat uw cluster de juiste machtigingen heeft geconfigureerd voor gegevensbronnen en de doelopslaglocatie, indien opgegeven.

Zie voor meer informatie over het gebruik van Python en SQL voor het schrijven van broncode voor pijplijnen de sql-taalreferenties van Delta Live Tables en de Taalreferentie voor Python voor Delta Live Tables.

Zie Configuratie van Delta Live Tables-pijplijnen beheren voor meer informatie over pijplijninstellingen en -configuraties.

Uw eerste pijplijn en triggerupdates implementeren

Voordat u gegevens met Delta Live Tables verwerkt, moet u een pijplijn configureren. Zodra een pijplijn is geconfigureerd, kunt u een update activeren om de resultaten voor elke gegevensset in uw pijplijn te berekenen. Zie Zelfstudie: Uw eerste Delta Live Tables-pijplijn uitvoeren om aan de slag te gaan met Delta Live Tables-pijplijnen.

Wat is een pijplijnupdate?

Pijplijnen implementeren infrastructuur en hercomputeren de gegevensstatus wanneer u een update start. Een update doet het volgende:

  • Hiermee start u een cluster met de juiste configuratie.
  • Detecteert alle gedefinieerde tabellen en weergaven en controleert op analysefouten, zoals ongeldige kolomnamen, ontbrekende afhankelijkheden en syntaxisfouten.
  • Hiermee worden tabellen en weergaven gemaakt of bijgewerkt met de meest recente gegevens die beschikbaar zijn.

Pijplijnen kunnen continu of volgens een schema worden uitgevoerd, afhankelijk van de kosten- en latentievereisten van uw use-case. Zie Een update uitvoeren voor een Delta Live Tables-pijplijn.

Gegevens opnemen met Delta Live Tables

Delta Live Tables ondersteunt alle gegevensbronnen die beschikbaar zijn in Azure Databricks.

Databricks raadt het gebruik van streamingtabellen aan voor de meeste gebruiksvoorbeelden voor opname. Voor bestanden die binnenkomen in de opslag van cloudobjecten, raadt Databricks Auto Loader aan. U kunt rechtstreeks gegevens opnemen met Delta Live Tables vanuit de meeste berichtenbussen.

Zie De configuratie van cloudopslag voor meer informatie over het configureren van toegang tot cloudopslag.

Voor indelingen die niet worden ondersteund door Auto Loader, kunt u Python of SQL gebruiken om een query uit te voeren op elke indeling die wordt ondersteund door Apache Spark. Zie Gegevens laden met Delta Live Tables.

Gegevenskwaliteit bewaken en afdwingen

U kunt verwachtingen gebruiken om besturingselementen voor gegevenskwaliteit op te geven voor de inhoud van een gegevensset. In tegenstelling tot een CHECK beperking in een traditionele database die het toevoegen van records die niet voldoen aan de beperking, bieden verwachtingen flexibiliteit bij het verwerken van gegevens die niet voldoen aan de vereisten voor de kwaliteit van gegevens. Dankzij deze flexibiliteit kunt u gegevens verwerken en opslaan die u verwacht te rommelig en gegevens die moeten voldoen aan strenge kwaliteitsnormen. Zie Gegevenskwaliteit beheren met Delta Live Tables.

Delta Live Tables breidt de functionaliteit van Delta Lake uit. Omdat tabellen die zijn gemaakt en beheerd door Delta Live Tables Delta-tabellen zijn, hebben ze dezelfde garanties en functies van Delta Lake. Zie Wat is Delta Lake?

Delta Live Tables voegt verschillende tabeleigenschappen toe naast de vele tabeleigenschappen die kunnen worden ingesteld in Delta Lake. Zie de eigenschappenreferentie voor Delta Live Tables en de referentie voor deltatabeleigenschappen.

Hoe tabellen worden gemaakt en beheerd door Delta Live Tables

Azure Databricks beheert automatisch tabellen die zijn gemaakt met Delta Live Tables, waarmee wordt bepaald hoe updates moeten worden verwerkt om de huidige status van een tabel correct te berekenen en een aantal onderhouds- en optimalisatietaken uit te voeren.

Voor de meeste bewerkingen moet u Delta Live Tables toestaan om alle updates, invoegingen en verwijderingen naar een doeltabel te verwerken. Zie Handmatige verwijderingen of updates behouden voor meer informatie en beperkingen.

Onderhoudstaken uitgevoerd door Delta Live Tables

Delta Live Tables voert onderhoudstaken uit binnen 24 uur nadat een tabel wordt bijgewerkt. Onderhoud kan de prestaties van query's verbeteren en kosten verlagen door oude versies van tabellen te verwijderen. Standaard voert het systeem een volledige OPTIMIZE-bewerking uit, gevolgd door VACUUM. U kunt OPTIMIZE voor een tabel uitschakelen door de tabeleigenschappen voor de tabel in te stellenpipelines.autoOptimize.managed = false. Onderhoudstaken worden alleen uitgevoerd als een pijplijnupdate in de 24 uur voordat de onderhoudstaken worden gepland, is uitgevoerd.

Beperkingen

De volgende beperkingen zijn van toepassing:

  • Alle tabellen die door Delta Live Tables zijn gemaakt en bijgewerkt, zijn Delta-tabellen.
  • Delta Live Tables-tabellen kunnen slechts eenmaal worden gedefinieerd, wat betekent dat ze alleen het doel van één bewerking kunnen zijn in alle Delta Live Tables-pijplijnen.
  • Identiteitskolommen worden niet ondersteund met tabellen waarvan het doel APPLY CHANGES INTO is en die mogelijk opnieuw worden gecomputeerd tijdens updates voor gerealiseerde weergaven. Daarom raadt Databricks alleen aan om identiteitskolommen met streamingtabellen in Delta Live Tables te gebruiken. Zie Identiteitskolommen gebruiken in Delta Lake.
  • Een Azure Databricks-werkruimte is beperkt tot 100 gelijktijdige pijplijnupdates.

Aanvullende bronnen