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.
U kunt triggers voor tabelupdates gebruiken om een uitvoering van uw taak te activeren wanneer brontabellen worden bijgewerkt. Gebruik deze functie om een taak uit te voeren wanneer nieuwe gegevens gereed zijn zonder dat er continu een cluster of kennis nodig is van de processen die een tabel bijwerken.
Important
Het activeren van taken in OpenSharing-tabellen en -weergaven en in systeemtabellen bevindt zich in bèta. Zie Een trigger toevoegen aan OpenSharing- en systeemtabellen.
Hoe triggers voor tabelupdates werken
Een updatetrigger voor tabellen controleert op tabelupdates en wanneer een tabel wordt bijgewerkt, wordt de taak uitgevoerd. De trigger kan worden uitgevoerd wanneer één tabel wordt bijgewerkt of wanneer alle tabellen die door de trigger worden bewaakt, worden bijgewerkt. Voor triggers voor tabelupdates worden geen andere kosten in rekening gebracht dan de kosten van de cloudprovider die zijn gekoppeld aan het weergeven van tabellen en het lezen van updates vanaf de opslaglocatie.
Een trigger voor het bijwerken van tabellen kan worden geconfigureerd voor het bewaken van een of meer tabellen voor gegevenswijzigingen, zoals updates, samenvoegingen en verwijderingen. Deze tabellen kunnen beheerde tabellen van Unity Catalog Delta en Iceberg zijn, externe tabellen van Unity Catalog die worden ondersteund door Delta Lake, gerealiseerde weergaven, streamingtabellen en Unity Catalog-weergaven of metrische weergaven die afhankelijk zijn van ondersteunde tabellen. Wanneer u meerdere tabellen selecteert, kunt u opgeven of een taak wordt geactiveerd wanneer een of alle tabellen worden bijgewerkt.
U kunt ook triggers configureren voor OpenSharing-tabellen en -weergaven en in systeemtabellen (bèta). Zie Een trigger toevoegen aan OpenSharing- en systeemtabellen.
Een updatetrigger voor tabellen toevoegen
Een updatetrigger voor een tabel toevoegen aan een bestaande taak:
Klik in de linkernavigatie van uw werkruimte op Jobs & pijplijnen.
Klik in de lijst met taken op de naam van de taak waaraan u een trigger wilt toevoegen.
Klik in het rechterdeelvenster onder Planningen en triggers op Trigger toevoegen.
Selecteer tabelupdate bij het type Trigger.
Voeg onder Tabellen de tabellen toe die u wilt controleren op updates.
Als u meer dan één tabel selecteert, configureert u een optie onder Trigger wanneer u wilt opgeven of een taakuitvoering moet worden geactiveerd wanneer alle tabellen worden bijgewerkt of wanneer een tabel wordt bijgewerkt.
(Optioneel) Configureer geavanceerde opties door op Geavanceerd te klikken.
- Minimale tijd tussen triggers in seconden: de minimale tijd die moet worden gewacht om een uitvoering te activeren nadat een vorige uitvoering is voltooid. Tabellen die tijdens deze periode zijn bijgewerkt, activeren alleen een uitvoering nadat de wachttijd is verlopen. Azure Databricks wacht deze tijd voordat een uitvoering wordt geactiveerd, zelfs als bewaakte tabellen worden bijgewerkt.
- Wacht na laatste wijziging in seconden: de tijd die moet worden gewacht om een uitvoering te activeren na een tabelupdate. Aanvullende tabelupdates tijdens deze periode stellen de timer opnieuw in. Deze instelling kan worden gebruikt wanneer tabelupdates in batches worden geleverd en de hele batch moet worden verwerkt nadat alle tabellen zijn bijgewerkt.
Opmerking
Als beide opties worden gebruikt, wacht de trigger de minimale tijd tussen triggers en wacht vervolgens de ingestelde tijd na de laatste wijziging. Als u bijvoorbeeld een minimale tijd van 120 seconden hebt en een wachttijd na laatste wijzigingen van 60 seconden, wordt de uitvoering pas geactiveerd nadat ten minste 120 seconden zijn verstreken, zelfs als er binnen de eerste 60 seconden een tabelupdate plaatsvindt. Bovendien betekent de wachttijd na de laatste wijziging dat een uitvoering pas na 175 seconden wordt gestart, als er één update binnenkomt na 5 seconden en vervolgens nog een na 115 seconden.
Klik op Testtrigger om de configuratie te valideren.
Klik op Opslaan.
Opmerking
U kunt ook triggers voor tabelupdates configureren vanuit de Jobs API. Voeg een trigger object toe aan een jobs/create, jobs/updateof jobs/reset bewerking.
Als u deze trigger later wilt bewerken, onderbreken of verwijderen, gebruikt u de sectie Planningen en triggers van het deelvenster Taakdetails . Zie Een bestaande trigger beheren.
Een trigger toevoegen aan OpenSharing- en systeemtabellen
Important
Deze functionaliteit bevindt zich in de bètaversie.
Naast lokale tabellen kunt u triggers voor het bijwerken van tabellen configureren om gegevens te bewaken die met uw werkruimte worden gedeeld via OpenSharing en systeemtabellen. U kunt bijvoorbeeld een taak activeren wanneer nieuwe factureringsrecords in een systeemtabel terechtkomen of wanneer een provider een gedeelde tabel bijwerkt.
U kunt de volgende gedeelde objecten activeren:
- OpenSharing-tabellen
- OpenSharing-weergaven
- Metrische weergaven van OpenSharing
- Gerealiseerde weergaven van OpenSharing
- OpenSharing-streamingtabellen
- Systeemtabellen
Controleer de beperkingen van de OpenSharing-trigger en volg de stappen in Een updatetrigger voor tabellen toevoegen en selecteer de gedeelde tabellen, weergaven of systeemtabellen die u wilt bewaken.
Beperkingen voor OpenSharing-triggers
Deze functie ondersteunt alleen Databricks-to-Databricks OpenSharing. Het delen van Databricks-to-Open wordt niet ondersteund.
Om triggers in te schakelen voor gedeelde tabellen en weergaven, moet de bèta zijn ingeschakeld bij zowel de ontvanger als de aanbieder:
- Triggers voor tabelupdates op OpenSharing (ontvanger):een bètaversie op werkruimteniveau die is ingeschakeld in de werkruimte van de ontvanger waarin de trigger wordt gemaakt.
- Triggers voor tabelupdates op OpenSharing (provider):een bètaversie op accountniveau die is ingeschakeld in het provideraccount dat eigenaar is van de gedeelde gegevens.
Voor systeemtabellen is alleen de bètaversie van de ontvanger vereist. Zie Azure Databricks previews beheren om deze optie in te schakelen.
De gebruiker die de trigger maakt, moet de
SELECTbevoegdheid hebben voor het gedeelde object of de systeemtabel.
Triggers voor tabelupdates met bestandsevenementen
Voor de beste prestaties en schaalbaarheid schakelt u bestandsevenementen in op de externe locatie waar de tabellen worden opgeslagen. Deze eenmalige installatiestap verbetert de efficiëntie van triggers voor tabelupdates en ontgrendelt andere functies, waaronder meer krachtige automatische laadprogramma's en triggers voor bestandsaankomst.
Wanneer bestandsgebeurtenissen zijn ingeschakeld, houdt Databricks automatisch metagegevens van opname bij met behulp van wijzigingsmeldingen van cloudproviders, wat resulteert in snellere en efficiëntere tabelupdates.
Als uw tabellen zich in de opslag op het hoofdniveau van de metastore bevinden, converteert u ze eerst naar een externe locatie en schakelt u bestandsgebeurtenissen op die locatie in.
Zie Veelgestelde vragen over bestandsevenementen voor veelgestelde vragen over bestandsevenementen.
Taakparameters die zijn gekoppeld aan triggers voor tabelupdates
Wanneer u triggers voor tabelupdates voor een taak gebruikt, zijn er drie nieuwe dynamische-waardeverwijzingen beschikbaar om te gebruiken als parameterwaarden in de taak.
-
{{job.trigger.table_update.updated_tables}}- Een JSON-lijst met tabellen die zijn bijgewerkt sinds de laatste taakuitvoering. -
{{job.trigger.table_update.`<catalog.schema.table>`.commit_timestamp.iso_datetime}}- de meest recente commit-tijdstempel die het uitvoeren van de taak heeft gestart. -
{{job.trigger.table_update.`<catalog.schema.table>`.version}}- de meest recente doorvoeringsversie die de taakuitvoering heeft geactiveerd.
Voor commit_timestamp en version, er zijn meerdere versies van de verwijzing naar dynamische waarden. Elke bewaakte tabel heeft een <catalog.schema.table> met de volledig gekwalificeerde naam van de tabel waarvan u gegevens wilt. Als er slechts één tabel wordt bewaakt in de trigger, ziet u een waarde zonder de <catalog.schema.table>. U kunt bijvoorbeeld {{job.trigger.table_update.commit_timestamp.iso_datetime}} gebruiken.
Zie Taken parameteriseren voor meer informatie over taakparameters.
Meldingen ontvangen van mislukte triggers voor tabelupdates
U ontvangt een melding als een trigger voor een tabelupdate niet kan worden geëvalueerd. Configureer e-mail- of systeembestemmingsmeldingen voor het geval van een taakfout. Zie Meldingen toevoegen aan een taak.
Beperkingen
Triggers voor tabelupdates hebben de volgende beperkingen:
- U kunt maximaal 10 beheerde of Delta-tabellen per trigger selecteren.
- Voor tabellen die zich op locaties zonder bestandsgebeurtenissen bevinden, kunnen maximaal 1000 taken worden geconfigureerd met een tabelupdatetrigger.
- Er kunnen maximaal 1000 triggers voor tabelupdates op OpenSharing-objecten of systeemtabellen per werkruimte worden gemaakt.
Triggers op Unity Catalog-weergaven hebben de volgende aanvullende beperkingen:
Tabelupdatetriggers ondersteunen alleen het bewaken van Unity Catalog-weergaven of metrische weergaven die afhankelijk zijn van tabellen die ook worden ondersteund door triggers voor tabelupdates. De volgende weergaven worden met name niet ondersteund:
- Weergaven die gebruikmaken van
read_files(ze kunnen gegevens lezen uit een ondersteunde tabel die bestanden leest, maarread_filesniet rechtstreeks gebruiken). - Weergaven die afhankelijk zijn van tabellen die zich niet in Unity Catalog bevinden.
- Weergaven die afhankelijk zijn van federatieve tabellen.
- Weergaven die gebruikmaken van
Het maken van triggers voor weergaven met niet-ondersteunde afhankelijkheden slaagt nog steeds, maar er worden geen taakuitvoeringen geactiveerd wanneer een niet-ondersteunde afhankelijkheid wordt bijgewerkt.
Bijwerken van tabellen bewaakt wijzigingen in de afhankelijke tabellen van een weergave en beschouwt de weergave bijgewerkt als een van de afhankelijke tabellen wordt bijgewerkt. Het is mogelijk dat een taakuitvoering wordt geactiveerd voor gegevenswijzigingen die door de weergavedefinitie worden gefilterd.
Brontabellen voor een weergave worden meegeteld voor de limiet van 10 tabellen per trigger.
- Als een weergave bijvoorbeeld afhankelijk is van 11 tabellen, is het niet mogelijk om deze te gebruiken in een tabelupdatetrigger. Op dezelfde manier telt een trigger met twee weergaven, die elk afhankelijk zijn van 6 tabellen, als 12 tabellen.
Er is een afzonderlijke limiet van 10 afhankelijke weergaven per bewaakte weergave.
- Als een weergave bijvoorbeeld afhankelijk is van 11 andere weergaven, is het niet mogelijk om deze te gebruiken in een tabelupdatetrigger, zelfs niet als dit de 10 tabellen per triggerregel niet onderbreekt.