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

Jótanács

A Power BI Dataflow Gen1 már örökölt állapotban van, és nem kap új funkcióberuházást. Ha nagy adathalmazok növekményes frissítését konfigurálja, fontolja meg a Dataflow Gen2-t, amely egyszerűbb növekményes frissítési élményt támogat jobb teljesítménnyel és további adatcélokkal. A meglévő adatfolyamok frissítéséről további információt az Adatfolyam Gen1-ről a 2. generációs adatfolyamra való frissítés című témakörben talál.

Adatfolyamok használatával nagy mennyiségű adatot hozhat be a Power BI-ba vagy a szervezet által biztosított tárhelyre. Bizonyos esetekben azonban nem célszerű minden frissítésben frissíteni a forrásadatok teljes másolatát. Jó alternatíva a növekményes frissítés, amely a következő előnyöket nyújtja az adatfolyamok számára:

  • A frissítés gyorsabb: Csak a módosított adatokat kell frissíteni. Például csak a 10 éves adatfolyam utolsó öt napját frissítse.
  • A frissítés megbízhatóbb: Például nem szükséges hosszú ideig futó kapcsolatokat fenntartani az illékony forrásrendszerekhez.
  • Az erőforrás-felhasználás csökken: A kevesebb frissítendő adat csökkenti a memória és más erőforrások általános használatát.

A növekményes frissítés a Power BI-ban létrehozott adatfolyamokban és a Power Appsben létrehozott adatfolyamokban érhető el. Ez a cikk a Power BI képernyőit mutatja be, de ezek az utasítások a Power BI-ban vagy a Power Appsben létrehozott adatfolyamokra vonatkoznak.

Megjegyzés:

Amikor egy elemzési adatfolyam táblájának sémája megváltozik, teljes frissítés történik annak biztosítása érdekében, hogy az összes eredményül kapott adat megegyezik az új sémával. Ennek eredményeképpen a növekményesen tárolt adatok frissülnek, és bizonyos esetekben, ha a forrásrendszer nem őrzi meg az előzményadatokat, elveszik.

Képernyőkép az adatfolyamok frissítéséhez használt növekményes frissítési beállítások párbeszédpanelről.

A Power BI-ban létrehozott adatfolyamok növekményes frissítésének használatához az adatfolyamnak prémium szintű kapacitásban lévő munkaterületen kell lennie. Power Apps inkrementális frissítéséhez alkalmazásonkénti vagy felhasználónkénti Power Apps-csomagra van szükség, és csak az Azure Data Lake Storage célú adatfolyamokhoz érhető el.

A Power BI-ban vagy a Power Appsben a növekményes frissítéshez az adatfolyamba betöltött forrásadatoknak rendelkezniük kell egy DateTime mezővel, amelyen a növekményes frissítés szűrhető.

Növekményes frissítés konfigurálása adatfolyamokhoz

Az adatfolyamok számos táblát tartalmazhatnak. A növekményes frissítés a tábla szintjén van beállítva, így egy adatfolyam mind a teljesen frissített táblákat, mind a növekményesen frissített táblákat tárolja.

Növekményesen frissített tábla beállításához először konfigurálja a táblát úgy, ahogyan bármely más táblát.

Az adatfolyam létrehozása és mentése után válassza a Növekményes frissítés lehetőséget a táblázat nézetben, ahogyan az az alábbi képen is látható.

Képernyőkép a Power BI-ról az adatfolyamok növekményes frissítési ikonjával.

Az ikon kiválasztásakor megjelenik a Növekményes frissítési beállítások ablak. A növekményes frissítés bekapcsolása.

Képernyőkép a növekményes frissítési beállítások párbeszédpanelről, amelyen be van kapcsolva a növekményes frissítés.

Az alábbi lista a Növekményes frissítési beállítások ablak beállításait ismerteti.

  • Növekményes frissítés be- és kikapcsolása kapcsoló: A növekményes frissítési szabályzat be- vagy kikapcsolása a táblában.

  • Szűrőmező legördülő listája: Kiválasztja azt a lekérdezésmezőt, amelyre a táblát növekményekre kell szűrni. Ez a mező csak DateTime mezőket tartalmaz. Növekményes frissítés nem használható, ha a tábla nem tartalmaz DateTime mezőt.

    Fontos

    Válasszon egy változatlan dátummezőt a növekményes frissítési szűrőhöz. Ha a mező értéke megváltozik (például dátummal módosított mezővel), ez a változás az adatok ismétlődő értékei miatt frissítési hibákhoz vezethet.

  • Sorok tárolása/frissítése a múltból: Az előző képen látható példa a következő néhány beállítást szemlélteti.

    Ebben a példában egy frissítési szabályzatot határozunk meg, amely összesen öt évnyi adatot tárol, és 10 napnyi adatot növekményesen frissít. Feltételezve, hogy a tábla naponta frissül, az egyes frissítési műveletekhez a következő műveleteket hajtja végre:

    • Adjon hozzá egy új napot az adatokhoz.

    • Frissítsd az utóbbi 10 napot, egészen a mai dátumig.

    • Távolítsa el azokat a naptári éveket, amelyek az aktuális dátum előtt öt évnél régebbiek. Ha például az aktuális dátum 2019. január 1., akkor a 2013-at eltávolítja a rendszer.

    Az első adatfolyam frissítése eltarthat egy ideig mind az öt év importálásához, de a későbbi frissítések valószínűleg sokkal gyorsabban befejeződnek.

  • Adatváltozások észlelése: A 10 napos növekményes frissítés sokkal hatékonyabb, mint egy öt évig tartó teljes frissítés, de lehet, hogy még jobbat is el tud végezni. Ha bejelöli az Adatváltozások észlelése jelölőnégyzetet, kijelölhet egy dátum/idő oszlopot, amely csak azokat a napokat azonosítja és frissíti, ahol az adatok megváltoztak. Ez feltételezi, hogy egy ilyen oszlop létezik a forrásrendszerben, amely általában naplózási célokra szolgál. Ennek az oszlopnak a maximális értékét a növekményes tartomány minden egyes időszakára kiértékeli a rendszer. Ha ezek az adatok az utolsó frissítés óta nem változtak, nem kell frissíteni az időszakot. A példában ez tovább csökkentheti a 10-ről 2-re növekményesen frissített napokat.

    Jótanács

    Az aktuális kialakításhoz az adatváltozások észleléséhez használt oszlopot meg kell őrizni, és gyorsítótáraztatni kell a memóriába. Érdemes megfontolnia az alábbi technikák egyikét a kardinalitás és a memóriahasználat csökkentéséhez:

    • A frissítés idején csak az oszlop maximális értékét tartsa meg, esetleg egy Power Query-függvény használatával.
    • Csökkentse a pontosságot a frissítési gyakoriságra vonatkozó követelményeknek megfelelő szintre.
  • Csak a teljes időszakok frissítése: Képzelje el, hogy a frissítés minden nap 4:00-kor van ütemezve. Ha az adatok a nap első négy órájában megjelennek a forrásrendszerben, előfordulhat, hogy nem szeretné figyelembe venni őket. Egyes üzleti metrikák, például az olaj- és gáziparban naponta mért hordók száma, nem praktikusak vagy ésszerűek, ha részleges napokra vonatkoztatjuk őket.

    Egy másik példa, amikor csak a teljes időszakok frissítése megfelelő, az adatok frissítése egy pénzügyi rendszerből. Képzeljen el egy pénzügyi rendszert, amelyben az előző hónap adatait a hónap 12. naptári napján hagyják jóvá. Beállíthatja a növekményes tartományt egy hónapra, és ütemezheti a frissítés futtatását a hónap 12. napján. Ha ezt a lehetőséget választja, a rendszer február 12-én frissíti a januári adatokat (a legutóbbi teljes havi időszakot).

Megjegyzés:

Az adatfolyam növekményes frissítése a következő logika szerint határozza meg a dátumokat: ha egy frissítés ütemezve van, az adatfolyamok növekményes frissítése a frissítési szabályzatban meghatározott időzónát használja. Ha nincs ütemezés a frissítésre, a növekményes frissítés a frissítést futtató számítógép idejét használja.

A növekményes frissítés konfigurálása után az adatfolyam automatikusan módosítja a lekérdezést, hogy dátum szerint szűrjön. Ha az adatfolyam a Power BI-ban lett létrehozva, az automatikusan létrehozott lekérdezést a Power Query speciális szerkesztőjével is szerkesztheti a frissítés finomhangolásához vagy testreszabásához. A növekményes frissítésről és annak működéséről az alábbi szakaszokban olvashat bővebben.

Megjegyzés:

Az adatfolyam szerkesztésekor a Power Query-szerkesztő közvetlenül csatlakozik az adatforráshoz, és a növekményes frissítési szabályzat után nem jeleníti meg a gyorsítótárazott vagy szűrt adatokat az adatfolyamban. Az adatfolyamban gyorsítótárazott adatok ellenőrzéséhez csatlakozzon a Power BI Desktop alkalmazásból az adatfolyamhoz, miután konfigurálta a növekményes frissítési szabályzatot és frissítette az adatfolyamot.

Növekményes frissítés: csatolt táblák vs. számított táblák

Csatolt táblák esetén a növekményes frissítés frissíti a forrástáblát. Mivel a csatolt táblák egyszerűen az eredeti táblára mutató mutatók, a növekményes frissítésnek nincs hatása a csatolt táblára. Ha a forrástábla a megadott frissítési szabályzatnak megfelelően frissül, minden csatolt táblának feltételeznie kell, hogy a forrásban lévő adatok frissülnek.

A számított táblák egy adattáron futó lekérdezéseken alapulnak, ami egy másik adatfolyam is lehet. Így a számított táblák ugyanúgy viselkednek, mint a csatolt táblák.

Mivel a számított táblák és a csatolt táblák hasonlóan viselkednek, a követelmények és a konfigurációs lépések mindkét esetben megegyeznek. Az egyik különbség az, hogy a számítási táblák esetében bizonyos konfigurációkban a növekményes frissítés nem futtatható optimalizált módon a partíciók létrehozásának módja miatt.

Váltás növekményes és teljes frissítés között

Az adatfolyamok támogatják a frissítési szabályzat növekményes és teljes frissítés közötti módosítását. Ha a változás mindkét irányban (teljesről növekményesre vagy növekményesről teljesre) történik, a változás hatással van az adatfolyamra a következő frissítés után.

Amikor egy adatfolyamot a teljes frissítésről növekményes frissítésre helyezi át, az új frissítési logika az adatfolyamot úgy frissíti, hogy a frissítési ablakhoz és a növekményes frissítési beállítások szerint meghatározott növekményhez igazodik.

Amikor egy adatfolyamot növekményesről teljes frissítésre helyez át, a növekményes frissítésben felhalmozott összes adat felülírja a teljes frissítésben definiált szabályzatot. Ezt a műveletet jóvá kell hagynia.

Időzóna támogatása növekményes frissítéskor

Az adatfolyam növekményes frissítése a futtatás időpontjától függ. A lekérdezés szűrése a futtatás napától függ.

A függőségek kielégítése és az adatkonzisztenciának biztosítása érdekében az adatfolyamok növekményes frissítése a következő heurisztikus frissítési forgatókönyveket valósítja meg:

  • Abban az esetben, ha ütemezett frissítés van definiálva a rendszerben, a növekményes frissítés az ütemezett frissítés szakasz időzóna-beállításait használja. Ez a folyamat biztosítja, hogy az adatfolyamot frissítő személy bármilyen időzónában legyen, mindig összhangban legyen a rendszer definíciójával.

  • Ha nincs meghatározva ütemezett frissítés, az adatfolyamok a frissítést végrehajtó felhasználó számítógépének időzónáját használják.

Növekményes frissítés api-k használatával is meghívható. Ebben az esetben az API-hívás egy, a frissítés során használt időzóna-beállítást tartalmazhat. Az API-k használata hasznos lehet tesztelési és érvényesítési célokra.

Növekményes frissítés implementálásának részletei

Az adatfolyamok particionálást használnak a növekményes frissítéshez. Az adatfolyamok növekményes frissítése megtartja a minimális számú partíciót, hogy megfeleljen a frissítési szabályzat követelményeinek. A rendszer elveti a tartományon kívül eső régi partíciókat, így fenntartva egy gördülő ablakot. A partíciók opportunista módon egyesülnek, és csökkentik a szükséges partíciók teljes számát. Ez a minimális partíciószám javítja a tömörítést, és bizonyos esetekben javíthatja a lekérdezési teljesítményt.

Az ebben a szakaszban szereplő példák a következő frissítési szabályzatot osztja meg:

  • Sorok tárolása az elmúlt egy negyedévben
  • Sorok frissítése az elmúlt 10 napban
  • Adatváltozások észlelése = Hamis
  • Csak a teljes napok frissítése engedélyezett = Igaz

Partíciók egyesítése

Ebben a példában a napi partíciók automatikusan egyesülnek a havi szintre, miután a növekményes tartományon kívülre kerülnek. A növekményes tartományban lévő partíciókat napi részletességgel kell karbantartani, hogy csak azokat a napokat lehessen frissíteni. A 2016.11.12-i futtatási dátummal végzett frissítési művelet egyesíti a novemberi napokat, mert azok a növekményes tartományon kívül esnek.

Az adatfolyamok egyesítési partícióit bemutató ábra.

Régi partíciók elvetése

A teljes tartományon kívül eső régi partíciók törlődnek. A 2017.02.02-i futtatási dátummal végzett frissítési művelet elveti a 2016. harmadik negyedévi partíciót, mert az a teljes tartományon kívül esik.

Az adatfolyamokban elvetett régi partíciókat ábrázoló ábra.

Helyreállítás hosszantartó meghibásodás vagy probléma után

Ez a példa azt szimulálja, hogyan állítható helyre a rendszer a hosszan tartó meghibásodásból. Tegyük fel, hogy a frissítés nem fut sikeresen, mert az adatforrás hitelesítő adatai lejártak, és a probléma megoldása 13 napot vesz igénybe. A növekményes tartomány csak 10 nap.

A következő sikeres frissítési műveletnek a 2017. 01. 15-i futtatási dátummal vissza kell töltenie a hiányzó 13 napot, és frissítenie kell őket. Az előző kilenc napot is frissítenie kell, mert azok nem a normál ütemezés szerint lettek frissítve. Más szóval a növekményes tartomány 10-ről 22 napra nő.

A következő frissítési művelet 2017.01.16-i futtatási dátummal lehetővé tette a decemberi napok és a 2016. negyedik negyedévi hónapok egyesítését.

Ábra az adatfolyamok hosszan tartó meghibásodásából való helyreállításról.

Adatfolyam növekményes frissítése és adatkészletek

Az adatfolyam növekményes frissítése és az adatkészlet növekményes frissítése úgy van kialakítva, hogy tandemben működjön. Elfogadható és támogatott, ha egy adatfolyam növekményesen frissülő táblája van, teljes mértékben betöltve egy adathalmazba, vagy egy adatfolyam teljes mértékben betöltött táblája növekményesen töltődik be egy adathalmazba.

Mindkét megközelítés a megadott definícióknak megfelelően működik a frissítési beállításokban. További információ: Növekményes frissítés a Power BI Premiumban

Ez a cikk az adatfolyamok növekményes frissítését ismertette. Íme néhány további cikk, amelyek hasznosak lehetnek:

A Power Queryvel és az ütemezett frissítésekkel kapcsolatos további információkért olvassa el az alábbi cikkeket:

A Common Data Modelrel kapcsolatos további információkért olvassa el annak áttekintési cikkét: