Del via


Trinnvis oppdatering i Dataflyt Gen2 (forhåndsvisning)

I denne artikkelen introduserer vi trinnvis dataoppdatering i Dataflyt gen2 for Microsoft Fabrics datafabrikk. Når du bruker dataflyter for datainntak og transformasjon, finnes det scenarioer der du spesifikt trenger å oppdatere bare nye eller oppdaterte data, spesielt ettersom dataene fortsetter å vokse. Funksjonen for trinnvis oppdatering tar for seg dette behovet ved å la deg redusere oppdateringstidene, forbedre påliteligheten ved å unngå langvarige operasjoner og minimere ressursbruken.

Forutsetning

Hvis du vil bruke trinnvis oppdatering i Dataflyt gen2, må du oppfylle følgende forutsetninger:

  • Du må ha en stoffkapasitet.
  • Datakilden støtter folding (anbefales) og må inneholde en Date/DateTime-kolonne som kan brukes til å filtrere dataene.
  • Du bør ha et datamål som støtter trinnvis oppdatering. Hvis du vil ha mer informasjon, kan du gå til Målstøtte.
  • Før du kommer i gang, må du kontrollere begrensningene for trinnvis oppdatering. Hvis du vil ha mer informasjon, kan du gå til Begrensninger.

Målstøtte

Følgende datamål støttes for trinnvis oppdatering:

  • Fabric Warehouse
  • Azure SQL Database
  • Azure Synapse Analytics

Andre destinasjoner som Lakehouse kan brukes i kombinasjon med trinnvis oppdatering ved hjelp av en annen spørring som refererer til de trinnvise dataene for å oppdatere datamålet. På denne måten kan du fortsatt bruke trinnvis oppdatering for å redusere mengden data som må behandles og hentes fra kildesystemet. Men du må gjøre en fullstendig oppdatering fra de trinnvise dataene til datamålet.

Slik bruker du trinnvis oppdatering

  1. Opprett en ny dataflyt gen2 eller åpne en eksisterende dataflyt gen2.

  2. Opprett en ny spørring som henter dataene du vil oppdatere trinnvis, i redigeringsprogrammet for dataflyten.

  3. Kontroller forhåndsvisningen av dataene for å sikre at spørringen returnerer data som inneholder en DateTime-, Date- eller DateTimeZone-kolonne som du kan bruke til å filtrere dataene.

  4. Kontroller at spørringen brettes fullstendig, noe som betyr at spørringen skyves helt ned til kildesystemet. Hvis spørringen ikke brettes fullstendig, må du endre spørringen slik at den brettes fullstendig. Du kan sikre at spørringen brettes fullstendig ved å kontrollere spørringstrinnene i redigeringsprogrammet for spørringen.

    Skjermbilde av redigeringsprogrammet for spørring i Dataflyt gen2.

  5. Høyreklikk spørringen, og velg Trinnvis oppdatering.

    Skjermbilde av rullegardinmenyen i Dataflyt gen2.

  6. Angi de nødvendige innstillingene for trinnvis oppdatering.

    Skjermbilde av innstillingene for trinnvis oppdatering.

    1. Velg en DateTime-kolonne du vil filtrere etter.
    2. Trekke ut data fra fortiden.
    3. Samlingsstørrelse.
    4. Bare trekk ut nye data når maksimumsverdien i denne kolonnen endres.
  7. Konfigurer de avanserte innstillingene om nødvendig.

    1. Krev trinnvis oppdateringsspørring for å brettes fullstendig.
  8. Velg OK for å lagre innstillingene.

  9. Hvis du vil, kan du nå konfigurere et datamål for spørringen. Kontroller at du gjør dette oppsettet før den første trinnvise oppdateringen, da ellers inneholder datamålet bare de trinnvise dataene som er endret trinnvis siden forrige oppdatering.

  10. Publiser Dataflyt gen2.

Når du har konfigurert trinnvis oppdatering, oppdaterer dataflyten automatisk dataene trinnvis basert på innstillingene du har angitt. Dataflyten henter bare dataene som er endret siden forrige oppdatering. Dataflyten kjører raskere og bruker mindre ressurser.

Slik fungerer trinnvis oppdatering bak kulissene

Trinnvis oppdatering fungerer ved å dele dataene inn i samlinger basert på DateTime-kolonnen. Hver samling inneholder dataene som er endret siden forrige oppdatering. Dataflyten vet hva som er endret ved å kontrollere maksimumsverdien i kolonnen du har angitt. Hvis den maksimale verdien som er endret for samlingen, henter dataflyten hele samlingen og erstatter dataene i målet. Hvis maksimumsverdien ikke ble endret, henter ikke dataflyten noen data. De følgende inndelingene inneholder en oversikt på høyt nivå over hvordan trinnvis oppdatering fungerer trinnvis.

Første trinn: Evaluere endringene

Når dataflyten kjøres, evalueres endringene i datakilden først. Den gjør denne evalueringen ved å sammenligne maksimumsverdien i DateTime-kolonnen med maksimumsverdien i forrige oppdatering. Hvis maksimumsverdien er endret, eller hvis den er den første oppdateringen, markerer dataflyten samlingen som endret og viser den for behandling. Hvis maksimumsverdien ikke ble endret, hopper dataflyten over samlingen og behandler den ikke.

Andre trinn: Hente dataene

Nå er dataflyten klar til å hente dataene. Den henter dataene for hver samling som er endret. Dataflyten gjør denne hentingen parallelt for å forbedre ytelsen. Dataflyten henter dataene fra kildesystemet og laster dem inn i oppsamlingsområdet. Dataflyten henter bare dataene som er innenfor samlingsområdet. Med andre ord henter dataflyten bare dataene som er endret siden forrige oppdatering.

Siste trinn: Erstatte dataene i datamålet

Dataflyten erstatter dataene i målet med de nye dataene. Dataflyten replace bruker metoden til å erstatte dataene i målet. Det vil eksempel: Dataflyten sletter først dataene i målet for samlingen og setter deretter inn de nye dataene. Dataflyten påvirker ikke dataene som er utenfor samlingsområdet. Hvis du har data i målet som er eldre enn den første samlingen, påvirker derfor ikke den trinnvise oppdateringen disse dataene på noen måte.

Trinnvise oppdateringsinnstillinger forklart

Hvis du vil konfigurere trinnvis oppdatering, må du angi følgende innstillinger.

Skjermbilde av innstillingene for trinnvis oppdatering.

Generelle innstillinger

De generelle innstillingene er nødvendige og angir den grunnleggende konfigurasjonen for trinnvis oppdatering.

Velg en DateTime-kolonne som skal filtreres etter

Denne innstillingen er obligatorisk og angir kolonnen som dataflyter bruker til å filtrere dataene. Denne kolonnen skal være enten en DateTime-, Date- eller DateTimeZone-kolonne. Dataflyten bruker denne kolonnen til å filtrere dataene og henter bare dataene som ble endret siden forrige oppdatering.

Trekke ut data fra fortiden

Denne innstillingen er obligatorisk og angir hvor langt tilbake i tid dataflyten skal trekke ut data. Denne innstillingen brukes til å hente den første databelastningen. Dataflyten henter alle dataene fra kildesystemet som er innenfor det angitte tidsintervallet. Mulige verdier er:

  • x dager
  • x uker
  • x måneder
  • x kvartaler
  • x år

Hvis du for eksempel angir 1 måned, henter dataflyten alle de nye dataene fra kildesystemet som er i løpet av den siste måneden.

Samlingsstørrelse

Denne innstillingen er obligatorisk og angir størrelsen på samlingene som dataflyten bruker til å filtrere dataene. Dataflyten deler dataene inn i samlinger basert på DateTime-kolonnen. Hver samling inneholder dataene som er endret siden forrige oppdatering. Samlingsstørrelsen bestemmer hvor mye data som behandles i hver gjentakelse. En mindre samlingsstørrelse betyr at dataflyten behandler mindre data i hver gjentakelse, men det betyr også at det kreves flere gjentakelser for å behandle alle dataene. En større samlingsstørrelse betyr at dataflyten behandler mer data i hver gjentakelse, men det betyr også at det kreves færre gjentakelser for å behandle alle dataene.

Bare trekk ut nye data når maksimumsverdien i denne kolonnen endres

Denne innstillingen er obligatorisk og angir kolonnen som dataflyten bruker til å avgjøre om dataene endres. Dataflyten sammenligner maksimumsverdien i denne kolonnen med maksimumsverdien i forrige oppdatering. Hvis maksimumsverdien endres, henter dataflyten dataene som ble endret siden forrige oppdatering. Hvis maksimumsverdien ikke endres, henter ikke dataflyten noen data.

Bare trekk ut data for avsluttede perioder

Denne innstillingen er valgfri og angir om dataflyten bare skal trekke ut data for avsluttede perioder. Hvis denne innstillingen er aktivert, trekker dataflyten bare ut data for perioder som er avsluttet. Dataflyten trekker derfor bare ut data for perioder som er fullført og ikke inneholder fremtidige data. Hvis denne innstillingen er deaktivert, trekker dataflyten ut data for alle perioder, inkludert perioder som ikke er fullført og inneholder fremtidige data.

Hvis du for eksempel har en DateTime-kolonne som inneholder datoen for transaksjonen, og du bare vil oppdatere fullstendige måneder, kan du aktivere denne innstillingen i kombinasjoner med samlingsstørrelsen på month. Derfor trekker dataflyten bare ut data for fullstendige måneder og trekker ikke ut data for ufullstendige måneder.

Avanserte innstillinger

Noen innstillinger anses som avanserte og er ikke nødvendige for de fleste scenarioer.

Krev trinnvis oppdateringsspørring for å brettes fullstendig

Denne innstillingen er valgfri og angir om spørringen som brukes til trinnvis oppdatering, må brettes fullstendig. Hvis denne innstillingen er aktivert, må spørringen som brukes til trinnvis oppdatering, brettes fullstendig. Spørringen må med andre ord skyves helt ned til kildesystemet. Hvis denne innstillingen er deaktivert, trenger ikke spørringen som brukes til trinnvis oppdatering å brettes fullstendig. I dette tilfellet kan spørringen delvis skyves ned til kildesystemet. Vi anbefaler på det sterkeste å aktivere denne innstillingen for å forbedre ytelsen for å unngå å hente unødvendige og ufiltrerte data.

Begrensninger

Bare SQL-baserte datamål støttes

Foreløpig støttes bare SQL-baserte datamål for trinnvis oppdatering. Du kan derfor bare bruke Fabric Warehouse, Azure SQL Database eller Azure Synapse Analytics som datamål for trinnvis oppdatering. Årsaken til denne begrensningen er at disse datamålene støtter SQL-baserte operasjoner som kreves for trinnvis oppdatering. Vi bruker Operasjonene Slett og Sett inn til å erstatte dataene i datamålet, som ikke kan gjøres parallelt med andre datamål.

Datamålet må være satt til et fast skjema

Datamålet må settes til et fast skjema, noe som betyr at skjemaet for tabellen i datamålet må være løst og ikke kan endres. Hvis skjemaet for tabellen i datamålet er satt til dynamisk skjema, må du endre det til fast skjema før du konfigurerer trinnvis oppdatering.

Den eneste støttede oppdateringsmetoden i datamålet er replace

Den eneste støttede oppdateringsmetoden i datamålet er replace, noe som betyr at dataflyten erstatter dataene for hver samling i datamålet med de nye dataene. Data som er utenfor samlingsområdet, påvirkes imidlertid ikke. Hvis du har data i datamålet som er eldre enn den første samlingen, påvirker ikke den trinnvise oppdateringen disse dataene på noen måte.

Maksimalt antall samlinger er 50 for én enkelt spørring og 150 for hele dataflyten

Maksimalt antall samlinger per spørring som dataflyten støtter, er 50. Hvis du har mer enn 50 samlinger, må du øke størrelsen på samlingen eller redusere samlingsområdet for å redusere antall samlinger. For hele dataflyten er maksimalt antall samlinger 150. Hvis du har mer enn 150 samlinger i dataflyten, må du redusere antall trinnvise oppdateringsspørringer eller øke samlingsstørrelsen for å redusere antall samlinger.

Forskjeller mellom trinnvis oppdatering i dataflyt gen1 og dataflyt gen2

Mellom Dataflyt gen1 og dataflyt gen2, er det noen forskjeller i hvordan trinnvis oppdatering fungerer. Listen nedenfor forklarer de viktigste forskjellene mellom trinnvis oppdatering i dataflyt gen1 og dataflyt gen2.

  • Trinnvis oppdatering er nå en førsteklasses funksjon i Dataflyt gen2. I Dataflyt gen1 måtte du konfigurere trinnvis oppdatering etter at du publiserte dataflyten. In Dataflow Gen2, incremental refresh is now a first-class feature that you can configure directly in the dataflow editor. Denne funksjonen gjør det enklere å konfigurere trinnvis oppdatering og reduserer risikoen for feil.
  • I Dataflyt gen1 måtte du angi det historiske dataområdet når du konfigurerte trinnvis oppdatering. I Dataflyt gen2 trenger du ikke å angi det historiske dataområdet. Dataflyten fjerner ingen data fra målet som er utenfor samlingsområdet. Hvis du har data i målet som er eldre enn den første samlingen, påvirker derfor ikke den trinnvise oppdateringen disse dataene på noen måte.
  • I Dataflyt gen1 måtte du angi parameterne for trinnvis oppdatering når du konfigurerte trinnvis oppdatering. I Dataflyt gen2 trenger du ikke å angi parameterne for trinnvis oppdatering. Dataflyten legger automatisk til filtre og parametere som det siste trinnet i spørringen. Så du trenger ikke å angi parameterne for trinnvis oppdatering manuelt.

Vanlige spørsmål

Jeg fikk en advarsel om at jeg brukte samme kolonne for å oppdage endringer og filtrering. Hva betyr det?

Hvis du får en advarsel om at du brukte den samme kolonnen til å oppdage endringer og filtrering, betyr det at kolonnen du angav for å oppdage endringer, også brukes til å filtrere dataene. Vi anbefaler ikke denne bruken, da det kan føre til uventede resultater. I stedet anbefaler vi at du bruker en annen kolonne for å oppdage endringer og filtrere dataene. Hvis dataene skifter mellom samlinger, kan det hende at dataflyten ikke kan oppdage endringene på riktig måte og kan opprette dupliserte data i målet. Du kan løse denne advarselen ved hjelp av en annen kolonne for å oppdage endringer og filtrere dataene. Du kan også ignorere advarselen hvis du er sikker på at dataene ikke endres mellom oppdateringer for kolonnen du har angitt.

Jeg vil bruke trinnvis oppdatering med et datamål som ikke støttes. Hva kan jeg gjøre?

Hvis du vil bruke trinnvis oppdatering med et datamål som ikke støttes, kan du aktivere trinnvis oppdatering på spørringen og bruke en ny spørring som refererer til de trinnvise dataene for å oppdatere datamålet. På denne måten kan du fortsatt bruke trinnvis oppdatering for å redusere mengden data som må behandles og hentes fra kildesystemet, men du må gjøre en fullstendig oppdatering fra de trinnvise dataene til datamålet. Kontroller at du konfigurerer vindus- og samlingsstørrelsen på riktig måte, da vi ikke garanterer at dataene i oppsamling beholdes utenfor samlingsområdet.

Hvordan vite om spørringen min har trinnvis oppdatering aktivert?

Du kan se om spørringen har trinnvis oppdatering aktivert ved å kontrollere ikonet ved siden av spørringen i redigeringsprogrammet for dataflyt. Hvis ikonet inneholder en blå trekant, aktiveres trinnvis oppdatering. Hvis ikonet ikke inneholder en blå trekant, er ikke trinnvis oppdatering aktivert.

Kilden min får for mange forespørsler når jeg bruker trinnvis oppdatering. Hva kan jeg gjøre?

Vi har lagt til en innstilling som lar deg angi maksimalt antall parallelle spørringsevalueringer. Denne innstillingen finner du i de globale innstillingene for dataflyten. Ved å sette denne verdien til et lavere tall, kan du redusere antall forespørsler som sendes til kildesystemet. Denne innstillingen kan bidra til å redusere antall samtidige forespørsler og forbedre ytelsen til kildesystemet. Hvis du vil angi maksimalt antall parallelle spørringskjøringer, går du til de globale innstillingene for dataflyten, navigerer til Skaler-fanen og angir maksimalt antall parallelle spørringsevalueringer. Vi anbefaler at du ikke aktiverer denne grensen med mindre du opplever problemer med kildesystemet.

Skjermbilde av innstillingene for samtidighetskontroll for dataflyt.

Jeg vil bruke trinnvis oppdatering, men jeg ser at etter aktivering tar det lengre tid å oppdatere dataflyten. Hva kan jeg gjøre?

Trinnvis oppdatering, som beskrevet i denne artikkelen, er utformet for å redusere mengden data som må behandles og hentes fra kildesystemet. Hvis dataflyten imidlertid tar lengre tid å oppdatere etter at du har aktivert trinnvis oppdatering, kan det skyldes at den ekstra kostnaden ved å kontrollere om dataene endres og behandle samlingene er høyere enn tiden som er lagret ved å behandle færre data. I dette tilfellet anbefaler vi at du ser gjennom innstillingene for trinnvis oppdatering og justerer dem slik at de passer bedre til scenarioet. Du kan for eksempel øke størrelsen på samlingen for å redusere antall samlinger og kostnadene ved behandling av dem. Eller du kan redusere antall samlinger ved å øke størrelsen på samlingen. Hvis du fremdeles opplever lav ytelse etter at du har justert innstillingene, kan du deaktivere trinnvis oppdatering og bruke en fullstendig oppdatering i stedet, da det kan være mer effektivt i scenarioet.

Neste trinn