top of page

Inkrementelle Aktualisierung in Dataflows Gen1 vs Gen2

Die Inkrementelle Aktualisierung scheint - auch wegen der genutzten Begriffe - sehr ähnlich zu sein, ist es aber nicht - und kann deshalb bei Dataflows Gen2 falsch genutzt werden.


Was sind die wesentlichen Unterschiede?


ree


Dataflows Gen1 ⌛ 


- mit der ersten Option wird bestimmt, wie weit aus der Vergangenheit Daten gespeichert werden. Das hat erstmal nicht direkt etwas mit der Aktualisierung zu tun.


- mit der zweiten Option bestimmen wir explizit, welcher Zeitraum bei jeder Aktualisierung neu geladen werden soll (z.B. die letzten 3 Monate). D.h. die Daten der letzten drei Monate werden komplett überschrieben


- die Daten werden ausgehend von dieser Erstellung in Partitionen geladen (in diesem Beispiel Monate) 


- eine Erkennung der Änderungen ist optional (Detect Data Changes)




Dataflows Gen2 ⏳ 


- die erste Angabe ist hier bereits der Zeitraum, der bei der Inkrementellen Aktualisierung relevant ist - Extract statt Store! (d.h. in diesem Beispiel werden die Daten der letzten 10 Jahre in der Quelle überprüft)


- deshalb wird in der zweiten Option nur noch die Bucket-Size, d.h. Aufteilung der Partitionen festgelegt


- Entscheidend ist hier aber, dass die Änderungserkennung nicht optional ist: wir müssen eine Spalte angeben, die sich ändert oder neu hinzukommt (i.d.R. Änderungszeitstempel, es kann aber auch eine ID sein).


Anhand dieser Spalte wird für alle Partitionen geprüft, ob sich Werte verändert haben und ggf. wird die Partition neu geladen.



Der Unterschied in der Praxis? ⁉️ 


Bei Datenquellen, die keine Änderungszeitstempel haben, war es mit den Dataflows Gen1 möglich, einfach "auf Verdacht" die letzten Monate jedes Mal zu überschreiben.


Das mag unpräzise sein, aber reicht oft in der Praxis aus und natürlich sind die Ladezeiten kürzer als jedes Mal einen "Full load" zu machen


Dataflows Gen2 benötigen dagegen zum sinnvollen Überschreiben bestehender Inhalte unbedingt Änderungszeitstempel, IDs oder ähnliches was auf eine Änderung hinweist...


Wenn wir einfach das Datum angeben, was auch die Partitionen aufteilt, würde der Dataflows Gen2 nur neue Datensätze anfügen, aber keine Veränderungen erkennen. Dafür können Dataflows Gen2 im Standard Veränderungen auch weit in der Vergangenheit erkennen und überschreiben.


Die Funktionalität eines Dataflow Gen1 für Datenquellen ohne Änderungszeitstempel kann in Dataflows Gen2 manuell durch die Anfügen-Funktion nachgebaut werden.


Wichtig ist aber, dass auch das Löschen der Daten mitgedacht werden muss, sonst entstehen doppelte Zeilen.



➡️ mehr dazu diskutiere ich am Ende des letzten BI Thinkers Talk mit Marcus Wegener 



Was sind eure Erfahrungen mit dem Incemental Refresh bei Dataflows Gen2..? Habe ich noch etwas übersehen?

Kommentare

Mit 0 von 5 Sternen bewertet.
Noch keine Ratings

Rating hinzufügen
bottom of page