Olvasás angol nyelven

Megosztás a következőn keresztül:


Növekményes frissítés a Dataflow Gen2-ben (előzetes verzió)

Ebben a cikkben növekményes adatfrissítést vezetünk be a Dataflow Gen2-ben a Microsoft Fabric Data Factoryhez. Amikor adatfolyamokat használ az adatok betöltéséhez és átalakításához, vannak olyan helyzetek, amikor kifejezetten csak új vagy frissített adatokat kell frissítenie – különösen az adatok növekedésének növekedésében. A növekményes frissítési funkció úgy oldja meg ezt az igényt, hogy lehetővé teszi a frissítési idő csökkentését, a megbízhatóság növelését a hosszan futó műveletek elkerülése és az erőforrás-használat minimalizálása révén.

Előfeltételek

Ha növekményes frissítést szeretne használni a Dataflow Gen2-ben, meg kell felelnie a következő előfeltételeknek:

  • Hálókapacitással kell rendelkeznie.
  • Az adatforrás támogatja az összecsukást (ajánlott), és olyan Date/DateTime oszlopot kell tartalmaznia, amely az adatok szűréséhez használható.
  • Olyan adatcélt kell megadnia, amely támogatja a növekményes frissítést. További információ: Céltámogatás.
  • Az első lépések előtt győződjön meg arról, hogy áttekintette a növekményes frissítés korlátait. További információ: Korlátozások.

Céltámogatás

A növekményes frissítéshez a következő adatcélok támogatottak:

  • Hálóraktár
  • Azure SQL Database
  • Azure Synapse Analytics

Más célhelyek, például a Lakehouse növekményes frissítéssel kombinálva is használhatók egy második lekérdezéssel, amely a szakaszos adatokra hivatkozik az adat célhelyének frissítéséhez. Így továbbra is növekményes frissítés használatával csökkentheti a forrásrendszerből feldolgozandó és lekérendő adatok mennyiségét. De teljes frissítést kell végeznie a szakaszos adatokról az adat célhelyére.

Növekményes frissítés használata

  1. Hozzon létre egy új Adatfolyam Gen2-t, vagy nyisson meg egy meglévő Adatfolyam Gen2-t.

  2. Az adatfolyam-szerkesztőben hozzon létre egy új lekérdezést, amely beolvassa a frissíteni kívánt adatokat növekményesen.

  3. Ellenőrizze az adatok előnézetét, és győződjön meg arról, hogy a lekérdezés egy DateTime, Date vagy DateTimeZone oszlopot tartalmazó adatokat ad vissza, amelyekkel szűrheti az adatokat.

  4. Győződjön meg arról, hogy a lekérdezés teljesen összecsukható, ami azt jelenti, hogy a lekérdezés teljes mértékben le lesz küldve a forrásrendszerbe. Ha a lekérdezés nem hajtja össze teljesen, módosítania kell a lekérdezést, hogy teljesen összecsukható legyen. A lekérdezésszerkesztőben található lekérdezési lépések ellenőrzésével biztosíthatja, hogy a lekérdezés teljes mértékben összecsukható legyen.

    A Dataflow Gen2 lekérdezésszerkesztőjének képernyőképe.

  5. Kattintson a jobb gombbal a lekérdezésre, és válassza a Növekményes frissítés lehetőséget.

    Képernyőkép a Dataflow Gen2 legördülő menüjéről.

  6. Adja meg a növekményes frissítéshez szükséges beállításokat.

    Képernyőkép a növekményes frissítési beállításokról.

    1. Válasszon egy DateTime oszlopot, amely alapján szűrni szeretne.
    2. Adatok kinyerése a múltból.
    3. Gyűjtő mérete.
    4. Csak akkor nyer ki új adatokat, ha az oszlop maximális értéke megváltozik.
  7. Szükség esetén konfigurálja a speciális beállításokat.

    1. A növekményes frissítési lekérdezés teljes összecsukásához szükséges.
  8. A beállítások mentéséhez kattintson az OK gombra.

  9. Ha szeretné, beállíthat egy adatcélt a lekérdezéshez. Győződjön meg arról, hogy ezt a beállítást az első növekményes frissítés előtt hajtja végre, mert ellenkező esetben az adatcél csak a növekményesen módosított adatokat tartalmazza az utolsó frissítés óta.

  10. Tegye közzé az Adatfolyam Gen2-t.

A növekményes frissítés konfigurálása után az adatfolyam a megadott beállítások alapján automatikusan frissíti az adatokat. Az adatfolyam csak az utolsó frissítés óta megváltozott adatokat kéri le. Az adatfolyam tehát gyorsabban fut, és kevesebb erőforrást használ fel.

A növekményes frissítés működése a színfalak mögött

A növekményes frissítés úgy működik, hogy az adatokat a DateTime oszlop alapján gyűjtőkre osztja. Minden gyűjtő tartalmazza azokat az adatokat, amelyek az utolsó frissítés óta megváltoztak. Az adatfolyam a megadott oszlop maximális értékének ellenőrzésével tudja, hogy mi változott. Ha a gyűjtő maximális értéke módosult, az adatfolyam lekéri a teljes gyűjtőt, és lecseréli a célhelyen lévő adatokat. Ha a maximális érték nem változott, az adatfolyam nem kér le adatokat. A következő szakaszok a növekményes frissítés lépésről lépésre történő működésének magas szintű áttekintését tartalmazzák.

Első lépés: A módosítások kiértékelése

Az adatfolyam futtatásakor először kiértékeli az adatforrás változásait. Ezt a kiértékelést úgy végzi el, hogy összehasonlítja a DateTime oszlop maximális értékét az előző frissítés maximális értékével. Ha a maximális érték módosult, vagy ez az első frissítés, az adatfolyam módosítottként jelöli meg a gyűjtőt, és felsorolja feldolgozásra. Ha a maximális érték nem változott, az adatfolyam kihagyja a gyűjtőt, és nem dolgozza fel.

Második lépés: Az adatok lekérése

Most az adatfolyam készen áll az adatok lekérésére. Lekéri a módosított gyűjtők adatait. Az adatfolyam ezt a lekérést párhuzamosan végzi el a teljesítmény javítása érdekében. Az adatfolyam lekéri az adatokat a forrásrendszerből, és betölti az előkészítési területre. Az adatfolyam csak a gyűjtőtartományon belüli adatokat kéri le. Más szóval az adatfolyam csak az utolsó frissítés óta megváltozott adatokat kéri le.

Utolsó lépés: Az adatok cseréje az adat célhelyen

Az adatfolyam a célhelyen lévő adatokat az új adatokra cseréli. Az adatfolyam a replace célhelyen lévő adatok cseréjére használja a metódust. Ez azt jelzi, hogy az adatfolyam először törli az adatokat a gyűjtő célhelyében, majd beszúrja az új adatokat. Az adatfolyam nincs hatással a gyűjtőtartományon kívüli adatokra. Ezért ha az első gyűjtőnél régebbi adatokkal rendelkezik a célhelyen, a növekményes frissítés semmilyen módon nem befolyásolja ezeket az adatokat.

Növekményes frissítési beállítások ismertetése

A növekményes frissítés konfigurálásához meg kell adnia a következő beállításokat.

Képernyőkép a növekményes frissítési beállításokról.

Általános beállítások

Az általános beállítások megadása kötelező, és adja meg a növekményes frissítés alapkonfigurációját.

Válasszon egy DateTime oszlopot, amely alapján szűrni szeretne

Ez a beállítás kötelező, és megadja azt az oszlopot, amelyet az adatfolyamok az adatok szűréséhez használnak. Ennek az oszlopnak DateTime, Date vagy DateTimeZone oszlopnak kell lennie. Az adatfolyam ezt az oszlopot használja az adatok szűrésére, és csak az utolsó frissítés óta megváltozott adatokat kéri le.

Adatok kinyerése a múltból

Ez a beállítás kötelező, és meghatározza, hogy az adatfolyam mennyi idő alatt nyerjen ki adatokat. Ez a beállítás a kezdeti adatbetöltés lekérésére szolgál. Az adatfolyam lekéri az összes adatot a forrásrendszerből, amely a megadott időtartományon belül található. A lehetséges értékek a következők:

  • x nap
  • x hét
  • x hónap
  • x negyed
  • x év

Ha például 1 hónapot ad meg, az adatfolyam lekéri az összes új adatot a forrásrendszerből, amely az elmúlt hónapban található.

Gyűjtő mérete

Ez a beállítás kötelező, és megadja az adatfolyam által az adatok szűréséhez használt gyűjtők méretét. Az adatfolyam a DateTime oszlop alapján gyűjtőkre osztja az adatokat. Minden gyűjtő tartalmazza azokat az adatokat, amelyek az utolsó frissítés óta megváltoztak. A gyűjtőméret határozza meg, hogy az egyes iterációk mennyi adatot dolgozzanak fel. A kisebb gyűjtőméret azt jelenti, hogy az adatfolyam kevesebb adatot dolgoz fel az egyes iterációkban, de azt is jelenti, hogy az összes adat feldolgozásához több iterációra van szükség. A nagyobb gyűjtőméret azt jelenti, hogy az adatfolyam több adatot dolgoz fel az egyes iterációkban, de azt is jelenti, hogy kevesebb iterációra van szükség az összes adat feldolgozásához.

Csak akkor nyer ki új adatokat, ha az oszlop maximális értéke megváltozik

Ez a beállítás kötelező, és megadja azt az oszlopot, amelyet az adatfolyam használ annak megállapításához, hogy az adatok megváltoztak-e. Az adatfolyam összehasonlítja az oszlopban található maximális értéket az előző frissítés maximális értékével. Ha a maximális érték módosul, az adatfolyam lekéri a legutóbbi frissítés óta megváltozott adatokat. Ha a maximális érték nem változik, az adatfolyam nem kér le adatokat.

Csak a befejezett időszakok adatainak kinyerésében

Ez a beállítás nem kötelező, és azt határozza meg, hogy az adatfolyamnak csak a befejezett időszakokra kell-e adatokat kinyernie. Ha ez a beállítás engedélyezve van, az adatfolyam csak a befejezett időszakokra nyeri ki az adatokat. Az adatfolyam tehát csak olyan időszakokra nyer ki adatokat, amelyek teljesek, és nem tartalmaznak jövőbeli adatokat. Ha ez a beállítás le van tiltva, az adatfolyam minden időszakra kinyeri az adatokat, beleértve azokat az időszakokat is, amelyek nem teljesek, és jövőbeli adatokat tartalmaznak.

Ha például van egy DateTime oszlopa, amely tartalmazza a tranzakció dátumát, és csak a teljes hónapokat szeretné frissíteni, ezt a beállítást a gyűjtőmérettel monthkombinálva engedélyezheti. Ezért az adatfolyam csak teljes hónapokra nyer ki adatokat, és nem nyer ki adatokat hiányos hónapokra.

Speciális beállítások

Egyes beállítások speciálisnak minősülnek, és a legtöbb forgatókönyv esetében nem szükségesek.

Növekményes frissítési lekérdezés teljes összeadásának megkövetelése

Ez a beállítás nem kötelező, és megadja, hogy a növekményes frissítéshez használt lekérdezésnek teljes mértékben össze kell-e hajtania. Ha ez a beállítás engedélyezve van, a növekményes frissítéshez használt lekérdezésnek teljes mértékben össze kell hajtania. Más szóval a lekérdezést teljes mértékben le kell küldeni a forrásrendszerbe. Ha ez a beállítás le van tiltva, a növekményes frissítéshez használt lekérdezésnek nem kell teljesen összecsuknia. Ebben az esetben a lekérdezés részben leküldhető a forrásrendszerbe. Határozottan javasoljuk, hogy engedélyezze ezt a beállítást a teljesítmény javítása érdekében, hogy elkerülje a szükségtelen és szűretlen adatok beolvasását.

Korlátozások

Csak AZ SQL-alapú adatcélok támogatottak

Jelenleg csak az SQL-alapú adatcélok támogatottak a növekményes frissítéshez. Így csak a Fabric Warehouse, az Azure SQL Database vagy az Azure Synapse Analytics használható adathelyként a növekményes frissítéshez. Ennek a korlátozásnak az az oka, hogy ezek az adatcélok támogatják a növekményes frissítéshez szükséges SQL-alapú műveleteket. Törlési és beszúrási műveletekkel helyettesítjük az adatokat az adat célhelyén, ami más adatcélokon nem végezhető el párhuzamosan.

Az adatcélt rögzített sémára kell állítani

Az adatcélt rögzített sémára kell állítani, ami azt jelenti, hogy az adat céltáblájának sémáját ki kell javítani, és nem lehet módosítani. Ha az adat céltáblájának sémája dinamikus sémára van állítva, a növekményes frissítés konfigurálása előtt módosítania kell azt rögzített sémára.

Az adat célhelyen az egyetlen támogatott frissítési módszer a következő: replace

Az adat célhelyen az egyetlen támogatott frissítési módszer az replace, ami azt jelenti, hogy az adatfolyam az adatcél minden egyes gyűjtőjének adatait lecseréli az új adatokra. A gyűjtőtartományon kívül eső adatokra azonban nincs hatással. Ha tehát az első gyűjtőnél régebbi adatokkal rendelkezik az adat célhelyén, a növekményes frissítés semmilyen módon nem befolyásolja ezeket az adatokat.

A gyűjtők maximális száma egyetlen lekérdezés esetén 50, a teljes adatfolyam esetében 150

Az adatfolyam által támogatott lekérdezésenkénti gyűjtők maximális száma 50. Ha több mint 50 gyűjtője van, növelnie kell a gyűjtő méretét, vagy csökkentenie kell a gyűjtőtartományt a gyűjtők számának csökkentéséhez. A teljes adatfolyam esetében a gyűjtők maximális száma 150. Ha több mint 150 gyűjtő van az adatfolyamban, csökkentenie kell a növekményes frissítési lekérdezések számát, vagy növelnie kell a gyűjtő méretét a gyűjtők számának csökkentéséhez.

Az 1. generációs adatfolyam és a 2. adatfolyam növekményes frissítése közötti különbségek

Az Adatfolyam Gen1 és a Dataflow Gen2 között van néhány különbség a növekményes frissítés működésében. Az alábbi lista az 1. generációs adatfolyam és a 2. adatfolyam növekményes frissítése közötti fő különbségeket ismerteti.

  • A növekményes frissítés mostantól a Dataflow Gen2 első osztályú funkciója. Az Adatfolyam Gen1-ben növekményes frissítést kellett konfigurálnia az adatfolyam közzététele után. A Dataflow Gen2-ben a növekményes frissítés mostantól egy első osztályú funkció, amelyet közvetlenül az adatfolyam-szerkesztőben konfigurálhat. Ez a funkció megkönnyíti a növekményes frissítés konfigurálását, és csökkenti a hibák kockázatát.
  • A Dataflow Gen1-ben meg kellett adnia az előzményadat-tartományt a növekményes frissítés konfigurálásakor. A Dataflow Gen2-ben nem kell megadnia az előzményadat-tartományt. Az adatfolyam nem távolít el adatokat a gyűjtőtartományon kívüli célhelyről. Ezért ha az első gyűjtőnél régebbi adatokkal rendelkezik a célhelyen, a növekményes frissítés semmilyen módon nem befolyásolja ezeket az adatokat.
  • Az 1. adatfolyamban meg kellett adnia a növekményes frissítés paramétereit a növekményes frissítés konfigurálásakor. A Dataflow Gen2-ben nem kell megadnia a növekményes frissítés paramétereit. Az adatfolyam automatikusan hozzáadja a szűrőket és paramétereket a lekérdezés utolsó lépéseként. Így nem kell manuálisan megadnia a növekményes frissítés paramétereit.

GYIK

Figyelmeztetést kaptam, hogy ugyanazt az oszlopot használtam a módosítások és a szűrés észleléséhez. Mit jelent ez?

Ha figyelmeztetést kap arról, hogy ugyanazt az oszlopot használta a módosítások és a szűrés észleléséhez, az azt jelenti, hogy a módosítások észleléséhez megadott oszlop is az adatok szűrésére szolgál. Ezt a használatot nem javasoljuk, mert az váratlan eredményekhez vezethet. Ehelyett azt javasoljuk, hogy egy másik oszlopot használjon a módosítások észleléséhez és az adatok szűréséhez. Ha az adatok gyűjtők között változnak, előfordulhat, hogy az adatfolyam nem tudja megfelelően észlelni a módosításokat, és ismétlődő adatokat hozhat létre a célhelyen. Ezt a figyelmeztetést egy másik oszlop használatával oldhatja meg a módosítások észleléséhez és az adatok szűréséhez. Vagy figyelmen kívül hagyhatja a figyelmeztetést, ha biztos benne, hogy az adatok nem változnak a megadott oszlop frissítései között.

Növekményes frissítést szeretnék használni olyan adatcéllal, amely nem támogatott. Mit tehetek?

Ha növekményes frissítést szeretne használni egy nem támogatott adathelyhez, engedélyezheti a növekményes frissítést a lekérdezésben, és használhat egy második lekérdezést, amely a szakaszos adatokra hivatkozik az adat célhelyének frissítéséhez. Így továbbra is használhat növekményes frissítést a forrásrendszerből feldolgozandó és lekérendő adatok mennyiségének csökkentéséhez, de teljes frissítést kell végrehajtania a szakaszos adatokról az adatcélra. Győződjön meg arról, hogy helyesen állította be az ablak- és gyűjtőméretet, mivel nem garantáljuk, hogy az átmeneti adatok a gyűjtőtartományon kívül maradnak.

Hogyan tudja, hogy engedélyezve van-e a lekérdezés növekményes frissítése?

Láthatja, hogy a lekérdezés növekményes frissítés engedélyezve van-e, ha az adatfolyam-szerkesztőben a lekérdezés melletti ikont ellenőrzi. Ha az ikon kék háromszöget tartalmaz, a növekményes frissítés engedélyezve van. Ha az ikon nem tartalmaz kék háromszöget, a növekményes frissítés nincs engedélyezve.

A forrásom túl sok kérést kap, amikor növekményes frissítést használok. Mit tehetek?

Hozzáadtunk egy beállítást, amely lehetővé teszi a párhuzamos lekérdezések maximális számának beállítását. Ez a beállítás az adatfolyam globális beállításai között található. Ha ezt az értéket alacsonyabb számra állítja, csökkentheti a forrásrendszernek küldött kérések számát. Ez a beállítás segíthet az egyidejű kérések számának csökkentésében és a forrásrendszer teljesítményének javításában. A párhuzamos lekérdezés-végrehajtások maximális számának beállításához nyissa meg az adatfolyam globális beállításait, lépjen a Méretezés lapra, és állítsa be a párhuzamos lekérdezések maximális számát. Javasoljuk, hogy csak akkor engedélyezze ezt a korlátot, ha problémákat tapasztal a forrásrendszerrel kapcsolatban.

Képernyőkép az adatfolyam egyidejűség-vezérlési beállításairól.

Növekményes frissítést szeretnék használni, de látom, hogy az engedélyezés után az adatfolyam frissítése hosszabb időt vesz igénybe. Mit tehetek?

A jelen cikkben ismertetett növekményes frissítés célja, hogy csökkentse a forrásrendszerből feldolgozandó és lekérendő adatok mennyiségét. Azonban, ha a növekményes frissítés engedélyezése után az adatfolyam frissítése tovább tart, annak oka lehet, hogy az adatváltozások ellenőrzése és az adatgyűjtők feldolgozásának többletköltsége nagyobb, mint amennyi időt a kevesebb adat feldolgozása megtakarít. Ebben az esetben javasoljuk, hogy tekintse át a növekményes frissítés beállításait, és módosítsa őket a forgatókönyvnek megfelelően. Növelheti például a vödör méretét, hogy csökkentse a vödrök számát és a feldolgozásuk többletterhelését. Vagy csökkentheti a gyűjtők számát a gyűjtő méretének növelésével. Ha továbbra is alacsony teljesítményt tapasztal a beállítások módosítása után, letilthatja a növekményes frissítést, és teljes frissítést használhat helyette, mivel ez hatékonyabb lehet a forgatókönyvben.

Következő lépések