Delen via


Wat is Delta Live Tables?

Notitie

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

Delta Live Tables is een declaratief framework dat is ontworpen om het maken van betrouwbare en onderhoudbare ETL-pijplijnen (extract, transform and load) te vereenvoudigen. U geeft op welke gegevens moeten worden opgenomen en hoe deze moeten worden getransformeerd, en Delta Live Tables automatiseert belangrijke aspecten van het beheren van uw gegevenspijplijn, waaronder indeling, rekenbeheer, bewaking, afdwinging van gegevenskwaliteit en foutafhandeling.

Delta Live Tables is gebaseerd op Apache Spark, maar 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 de query's die nodig zijn om deze streamingtabellen en gerealiseerde weergaven te vullen en bij te werken.

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

voordelen van Delta Live Tables vergeleken met Apache Spark

Apache Spark is een veelzijdige opensource unified analytics-engine, waaronder ETL. Delta Live Tables bouwt voort op Spark om specifieke en algemene ETL-verwerkingstaken aan te pakken. Delta Live Tables kan uw pad naar productie aanzienlijk versnellen wanneer uw vereisten deze verwerkingstaken omvatten, waaronder:

  • Gegevens opnemen uit typische bronnen.
  • Gegevens incrementeel transformeren.
  • Het uitvoeren van wijzigingsgegevensvastlegging (CDC).

Delta Live Tables is echter niet geschikt voor het implementeren van bepaalde typen procedurele logica. Verwerkingsvereisten zoals schrijven naar een externe tabel of het opnemen van een voorwaarde die werkt op externe bestandsopslag of databasetabellen, kunnen bijvoorbeeld niet worden uitgevoerd in de code die een Gegevensset van Delta Live Tables definieert. Als u verwerking wilt implementeren die niet wordt ondersteund door Delta Live Tables, raadt Databricks u aan Apache Spark te gebruiken of de pijplijn op te halen in een Databricks-taak die de verwerking in een afzonderlijke taaktaak uitvoert. Zie pipeline-taak voor Delta Live Tables voor taken.

De volgende tabel vergelijkt Delta Live Tables met Apache Spark:

Vermogen Delta Live-tabellen Apache Spark
Gegevenstransformaties U kunt gegevens transformeren met BEHULP van SQL of Python. U kunt gegevens transformeren met behulp van SQL, Python, Scala of R.
Incrementele gegevensverwerking Veel gegevenstransformaties worden automatisch incrementeel verwerkt. U moet bepalen welke gegevens nieuw zijn, zodat u deze incrementeel kunt verwerken.
Orkestratie Transformaties worden automatisch in de juiste volgorde ingedeeld. U moet ervoor zorgen dat verschillende transformaties in de juiste volgorde worden uitgevoerd.
Parallellisme Alle transformaties worden uitgevoerd met het juiste parallelle uitvoeringsniveau. U moet threads of een externe orchestrator gebruiken om niet-gerelateerde transformaties parallel uit te voeren.
Foutafhandeling Fouten worden automatisch opnieuw geprobeerd. U moet beslissen hoe u fouten en nieuwe pogingen kunt afhandelen.
Toezicht Metrische gegevens en gebeurtenissen worden automatisch geregistreerd. U moet code schrijven om metrische gegevens te verzamelen over uitvoering of gegevenskwaliteit.

belangrijkste concepten van Delta Live-tabellen

In de volgende afbeelding ziet u de belangrijke onderdelen van een Delta Live Tables-pijplijn, gevolgd door een uitleg van elke pijplijn.

belangrijke concepten van Delta Live Tables.

streamingtabel

Een streamingtabel is een Delta-tabel met een of meer streams die ernaar schrijven. Streamingtabellen worden vaak gebruikt voor opname omdat ze invoergegevens precies één keer verwerken en grote hoeveelheden toevoeggegevens kunnen verwerken. Streamingtabellen zijn ook handig voor transformatie met lage latentie van gegevensstromen met een hoog volume.

Gerealiseerde weergave

Een gerealiseerde weergave is een weergave die vooraf samengestelde records bevat op basis van de query waarmee de gerealiseerde weergave wordt gedefinieerd. De records in de gerealiseerde weergave worden automatisch bijgewerkt door Delta Live Tables op basis van het updateschema of de triggers van de pijplijn. Telkens wanneer een gerealiseerde weergave wordt bijgewerkt, heeft deze gegarandeerd dezelfde resultaten als het uitvoeren van de definitiequery op de meest recente gegevens die beschikbaar zijn. Dit wordt echter vaak gedaan zonder het volledige resultaat helemaal opnieuw te berekenen met behulp van incrementele vernieuwing. Gerealiseerde weergaven worden vaak gebruikt voor transformaties.

Weergaven

Alle -weergaven in de rekenresultaten van Azure Databricks ontstaan uit brongegevenssets wanneer deze worden opgevraagd, waarbij gebruik wordt gemaakt van optimalisaties voor caching wanneer deze beschikbaar zijn. Delta Live Tables publiceert geen weergaven naar de catalogus, zodat alleen naar weergaven kan worden verwezen in 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.

Pijpleiding

Een pijplijn is een verzameling van streamingtabellen en gematerialiseerde weergaven die samen worden bijgewerkt. Deze streamingtabellen en gerealiseerde weergaven worden gedeclareerd in Python- of SQL-bronbestanden. Een pijplijn bevat ook een configuratie waarmee de berekening wordt gedefinieerd die wordt gebruikt om de streamingtabellen en gerealiseerde weergaven bij te werken wanneer de pijplijn wordt uitgevoerd. Net zoals een Terraform-sjabloon de infrastructuur in uw cloudaccount definieert, definieert een Delta Live Tables-pijplijn de gegevenssets en transformaties voor uw gegevensverwerking.

Hoe verwerken Delta Live Tables-gegevenssets gegevens?

In de volgende tabel wordt beschreven hoe materialized views, streamingtabellen en views gegevens verwerken.

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 weergave 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 het voorberekenen van langzame query's en veelgebruikte berekeningen.
Weergave 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.

Uw eerste gegevenssets declareren in Delta Live Tables

Delta Live Tables introduceert nieuwe syntaxis voor Python en SQL. Zie Pijplijncode ontwikkelen met Python en Pijplijncode ontwikkelen met SQL voor meer informatie over de basisbeginselen van de syntaxis van de pijplijn.

Notitie

Delta Live Tables scheidt gegevenssetdefinities van updateverwerking en Delta Live Tables-notebooks zijn niet bedoeld voor interactieve uitvoering.

Hoe configureert u Pijplijnen voor Delta Live Tables?

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

  1. Configuraties die een verzameling notebooks of bestanden definiëren (ook wel broncodegenoemd) 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. Deze omvatten 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 SQL-taalreferentie voor Delta Live Tables en Python-taalreferentie voor Delta Live Tables.

Zie Een Delta Live Tables-pijplijn configurerenvoor 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. Nadat een pijplijn is geconfigureerd, kunt u een update activeren om de resultaten voor elke gegevensset in uw pijplijn te berekenen. Om te beginnen met Delta Live Tables-pijplijnen, zie Zelfstudie: Uw eerste Delta Live Tables-pijplijn uitvoeren.

Wat is een pijplijnupdate?

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

  • Hiermee start u een cluster met de juiste configuratie.
  • Detecteert alle tabellen en weergaven die zijn gedefinieerd 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 op 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 toepassingen voor data-inname. 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 voorkomt dat records worden toegevoegd die niet voldoen aan de beperking, bieden verwachtingen in gegevensverwerking flexibiliteit bij het verwerken van gegevens die niet voldoen aan de vereisten voor gegevenskwaliteit. 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 de verwachtingen van pijplijnen.

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 Delta Live Tables eigenschappen referentie en Delta-tabel eigenschappen referentie.

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 pipelines.autoOptimize.managed = false in de eigenschappen van de tabel in te stellen voor de tabel. Onderhoudstaken worden alleen uitgevoerd als een pijplijnupdate in de 24 uur voordat de onderhoudstaken worden gepland, is uitgevoerd.

Beperkingen

Zie Beperkingen van Delta Live Tablesvoor een lijst met beperkingen.

Zie voor een lijst met vereisten en beperkingen die specifiek zijn voor het gebruik van Delta Live Tables met Unity Catalog Unity Catalog gebruiken met uw Delta Live Tables-pijplijnen

Aanvullende bronnen