Udostępnij przez


Odświeżanie przyrostowe w Dataflow Gen2

W tym artykule omówiono przyrostowe odświeżanie danych w Dataflow Gen2 dla Data Factory w ramach Microsoft Fabric. Gdy używasz przepływów danych do pozyskiwania i przekształcania danych, czasami trzeba odświeżyć tylko nowe lub zaktualizowane dane — szczególnie w miarę wzrostu ilości danych.

Odświeżanie przyrostowe ułatwia:

  • Skracanie czasu odświeżania
  • Zapewnienie niezawodności operacji dzięki unikaniu długotrwałych procesów
  • Korzystanie z mniejszej liczby zasobów

Prerequisites

Aby użyć odświeżania przyrostowego w przepływie danych Gen2, potrzebne są następujące elementy:

  • Pojemność sieci szkieletowej
  • Źródło danych obsługujące składanie (zalecane) i zawiera kolumnę Date/DateTime na potrzeby filtrowania danych
  • Miejsce docelowe danych obsługujące odświeżanie przyrostowe (zobacz Obsługa miejsca docelowego)
  • Przed rozpoczęciem zapoznaj się z ograniczeniami

Obsługa miejsca docelowego

Te miejsca docelowe danych obsługują odświeżanie przyrostowe:

  • Sieć szkieletowa Lakehouse
  • Magazyn tkanin
  • Azure SQL Database

Możesz także wykorzystać inne lokalizacje z odświeżaniem przyrostowym. Utwórz drugie zapytanie odwołujące się do przygotowanych danych w celu zaktualizowania miejsca docelowego. Takie podejście nadal umożliwia użycie odświeżania przyrostowego w celu zmniejszenia ilości danych, które wymagają przetwarzania z systemu źródłowego. Należy jednak wykonać pełną aktualizację z etapowanych danych do ostatecznego miejsca docelowego.

Ponadto domyślna konfiguracja docelowa nie jest obsługiwana w przypadku odświeżania przyrostowego. Musisz jawnie zdefiniować miejsce docelowe w ustawieniach zapytania.

Jak stosować odświeżanie przyrostowe

  1. Utwórz nowy przepływ danych Gen2 lub otwórz istniejący.

  2. W edytorze przepływu danych utwórz nowe zapytanie, które pobiera dane, które mają być odświeżane przyrostowo.

  3. Sprawdź podgląd danych, aby upewnić się, że zapytanie zwraca dane z kolumną DateTime, Date lub DateTimeZone na potrzeby filtrowania.

  4. Upewnij się, że zapytanie jest w pełni złożone, co oznacza, że zapytanie jest wypychane do systemu źródłowego. Jeśli zapytanie nie zostanie w pełni złożone, zmodyfikuj je tak. Możesz sprawdzić, czy zapytanie w pełni składa się, przeglądając kroki zapytania w edytorze zapytań.

    Zrzut ekranu edytora zapytań w przepływie danych Gen2.

  5. Kliknij prawym przyciskiem myszy zapytanie i wybierz Odświeżanie przyrostowe.

    Zrzut ekranu przedstawiający menu rozwijane w Dataflow Gen2.

  6. Skonfiguruj wymagane ustawienia odświeżania przyrostowego.

    Zrzut ekranu przedstawiający ustawienia odświeżania przyrostowego.

    1. Wybierz kolumnę DateTime do filtrowania według.
    2. Wyodrębnianie danych z przeszłości.
    3. Rozmiar zasobnika.
    4. Wyodrębnij nowe dane tylko wtedy, gdy zmienia się maksymalna wartość w tej kolumnie.
  7. W razie potrzeby skonfiguruj ustawienia zaawansowane.

    1. Wymagaj, aby zapytanie odświeżania przyrostowego było w pełni składane.
  8. Wybierz przycisk OK , aby zapisać ustawienia.

  9. Jeśli chcesz, skonfiguruj miejsce docelowe danych dla zapytania. Zrób to przed pierwszym odświeżaniem przyrostowym lub miejsce docelowe będzie zawierać tylko dane zmieniane przyrostowo od czasu ostatniego odświeżenia.

  10. Opublikuj przepływ danych Gen2.

Po skonfigurowaniu odświeżania przyrostowego przepływ danych automatycznie odświeża dane przyrostowo na podstawie ustawień. Przepływ danych pobiera tylko dane, które uległy zmianie od czasu ostatniego odświeżania, więc działa szybciej i zużywa mniej zasobów.

Jak działa odświeżanie przyrostowe w tle

Odświeżanie przyrostowe dzieli dane na zasobniki na podstawie kolumny DateTime. Każdy zasobnik zawiera dane, które uległy zmianie od czasu ostatniego odświeżenia. Przepływ danych wie, co się zmieniło, sprawdzając maksymalną wartość w określonej kolumnie.

Jeśli wartość maksymalna została zmieniona dla tego zasobnika, przepływ danych pobiera cały zasobnik i zastępuje dane w miejscu docelowym. Jeśli maksymalna wartość nie uległa zmianie, przepływ danych nie pobiera żadnych danych. Oto jak działa krok po kroku.

Pierwszy krok: Ocena zmian

Po uruchomieniu przepływu danych najpierw sprawdza, co zmieniło się w źródle danych. Analizuje on maksymalną wartość w kolumnie DateTime i porównuje ją z maksymalną wartością z ostatniego odświeżania.

Jeśli wartość maksymalna została zmieniona (lub jeśli jest to pierwsze odświeżenie), przepływ danych oznacza ten zasobnik jako "zmieniony" i przetworzy go. Jeśli maksymalna wartość jest taka sama, przepływ danych całkowicie pomija ten zasobnik.

Drugi krok: Pobieranie danych

Teraz strumień danych pobiera dane dla każdego zasobnika, które uległy zmianie. Przetwarza wiele zasobników w tym samym czasie, aby przyspieszyć działanie.

Przepływ danych ładuje te dane do obszaru przejściowego. Pobiera tylko dane należące do zakresu czasu zasobnika — co oznacza tylko dane, które rzeczywiście uległy zmianie od czasu ostatniego odświeżenia.

Ostatni krok: zamień dane w miejscu docelowym

Przepływ danych aktualizuje lokalizację docelową przy użyciu nowych danych. Używa metody "replace": najpierw usuwa stare dane dla tego konkretnego zasobnika, a następnie wstawia nowe dane.

Ten proces ma wpływ tylko na dane w zakresie czasowym kubełka. Wszystkie dane poza tym zakresem (takie jak starsze dane historyczne) pozostają nienaruszone.

Objaśnienia dotyczące ustawień przyrostowego odświeżania

Aby skonfigurować odświeżanie przyrostowe, należy określić te ustawienia.

Zrzut ekranu przedstawiający ustawienia odświeżania przyrostowego.

Ustawienia ogólne

Te ustawienia są wymagane i określają podstawową konfigurację odświeżania przyrostowego.

Wybierz kolumnę DateTime do filtrowania

To wymagane ustawienie określa kolumnę używaną przez przepływy danych do filtrowania danych. Kolumna ta powinna być typu DateTime, Date lub DateTimeZone. Przepływ danych używa tej kolumny do filtrowania danych i pobiera tylko dane, które uległy zmianie od czasu ostatniego odświeżenia.

Wyodrębnianie danych z przeszłości

To wymagane ustawienie określa, jak daleko w czasie przepływ danych powinien wyodrębniać dane. To ustawienie pobiera początkowe ładowanie danych. Przepływ danych pobiera wszystkie dane z systemu źródłowego w określonym zakresie czasu. Dopuszczalne wartości:

  • x dni
  • x tygodnie
  • x miesięcy
  • x kwartały
  • x lat

Jeśli na przykład określisz 1 miesiąc, przepływ danych pobiera wszystkie nowe dane z systemu źródłowego w ciągu ostatniego miesiąca.

Rozmiar wiadra

To wymagane ustawienie określa rozmiar zasobników używanych przez przepływ danych do filtrowania danych. Przepływ danych dzieli dane na zasobniki na podstawie kolumny DateTime. Każdy zasobnik zawiera dane, które uległy zmianie od czasu ostatniego odświeżenia. Rozmiar zasobnika określa, ile danych jest przetwarzanych w każdej iteracji:

  • Mniejszy rozmiar zasobnika oznacza, że przepływ danych przetwarza mniej danych w każdej iteracji, ale wymaga większej liczby iteracji do przetwarzania wszystkich danych.
  • Większy rozmiar zasobnika oznacza, że przepływ danych przetwarza więcej danych w każdej iteracji, ale wymaga mniejszej liczby iteracji do przetwarzania wszystkich danych.

Wyodrębnianie nowych danych tylko wtedy, gdy zmienia się maksymalna wartość w tej kolumnie

To wymagane ustawienie określa kolumnę używaną przez przepływ danych do określenia, czy dane uległy zmianie. Przepływ danych porównuje maksymalną wartość w tej kolumnie z maksymalną wartością z poprzedniego odświeżania. Jeśli wartość maksymalna zostanie zmieniona, przepływ danych pobiera dane, które uległy zmianie od czasu ostatniego odświeżenia. Jeśli maksymalna wartość nie uległa zmianie, przepływ danych nie pobiera żadnych danych.

Wyodrębnianie tylko danych dla zakończonych okresów

To ustawienie opcjonalne określa, czy przepływ danych powinien wyodrębniać tylko dane dla zakończonych okresów. Jeśli to ustawienie zostanie włączone, przepływ danych wyodrębnia tylko dane dla okresów, które zakończyły się. Przepływ danych wyodrębnia tylko dane dla okresów, które są kompletne i nie zawierają żadnych przyszłych danych. Jeśli to ustawienie zostanie wyłączone, przepływ danych wyodrębnia dane dla wszystkich okresów, w tym okresów, które nie są kompletne i zawierają przyszłe dane.

Jeśli na przykład masz kolumnę DateTime zawierającą datę transakcji i chcesz odświeżyć tylko pełne miesiące, możesz włączyć to ustawienie z rozmiarem zasobnika month. Przepływ danych wyodrębni tylko dane za pełne miesiące i nie będzie wyodrębniać danych za niekompletne miesiące.

Ustawienia zaawansowane

Niektóre ustawienia są uznawane za zaawansowane i nie są wymagane w większości scenariuszy.

Wymagaj, aby zapytanie dotyczące odświeżania przyrostowego było w pełni składane.

To ustawienie kontroluje, czy zapytanie dotyczące przyrostowego odświeżania musi być "całkowicie złożone". Gdy zapytanie jest całkowicie złożone, zostaje ono w pełni przekazane do systemu źródłowego w celu przetwarzania.

Jeśli to ustawienie zostanie włączone, zapytanie musi być w pełni złożone. Jeśli go wyłączysz, zapytanie może być częściowo przetworzone przez przepływ danych zamiast systemu źródłowego.

Zdecydowanie zalecamy włączenie tego ustawienia. Gwarantuje to, że po zapisaniu przepływu danych sprawdzimy, czy składanie zapytań do źródła jest możliwe. Jeśli ta walidacja nie powiedzie się, przepływ danych może mieć obniżoną wydajność i może spowodować pobranie niepotrzebnych, niefiltrowanych danych.

W niektórych przypadkach podczas tworzenia może zostać wyświetlony zielony wskaźnik składania. Jednak gdy zweryfikujemy ostateczną definicję przepływu danych, składanie może już nie być możliwe. Jeśli na przykład krok, taki jak Table.SelectRows, przerywa składanie. Może to prowadzić do błędu weryfikacji.

Limitations

Wsparcie dla Lakehouse jest dostarczane z dodatkowymi zastrzeżeniami

Podczas pracy z usługą Lakehouse jako miejscem docelowym danych należy pamiętać o następujących ograniczeniach:

  • Maksymalna liczba współbieżnych ocen wynosi 10. Oznacza to, że przepływ danych może w tym samym czasie ocenić tylko 10 kubełków. Jeśli masz więcej niż 10 zasobników, musisz ograniczyć liczbę zasobników lub ograniczyć liczbę współbieżnych ocen. Zrzut ekranu przedstawiający ustawienia kontrolki współbieżności przepływu danych.

  • Podczas zapisywania w usłudze Lakehouse przepływ danych śledzi pliki, które zapisuje. Jest to zgodne ze standardowymi praktykami lakehouse.

    Ale jest haczyk: jeśli inne narzędzia (takie jak Spark) lub procesy również zapisują w tej samej tabeli, mogą zakłócać odświeżanie przyrostowe. Zalecamy unikanie innych autorów podczas korzystania z odświeżania przyrostowego.

    Jeśli musisz używać innych komponentów, upewnij się, że nie powodują one kolizji z procesem odświeżania przyrostowego. Ponadto obsługa tabel, taka jak OPTIMIZE lub REORG TABLE, nie jest obsługiwana w przypadku tabel korzystających z odświeżania przyrostowego.

  • Jeśli używasz bramy danych do łączenia się ze źródłami danych, upewnij się, że brama została zaktualizowana do co najmniej wersji z maja 2025 r. (3000.270) lub nowszej. Ma to kluczowe znaczenie dla zachowania zgodności i zapewnienia prawidłowego działania odświeżania przyrostowego z miejscami docelowymi usługi Lakehouse.

  • Przełączanie z niekrementalnego na odświeżanie przyrostowe z istniejącymi nakładającymi się danymi w miejscu docelowym nie jest obsługiwane. Jeśli miejsce docelowe usługi Lakehouse zawiera już dane dla zasobników, które nakładają się na zasobniki przyrostowe zdefiniowane w ustawieniach, system nie może bezpiecznie przekonwertować na odświeżanie przyrostowe bez ponownego zapisywania całej tabeli delty. Zalecamy filtrowanie początkowego pobierania danych, aby uwzględnić tylko te dane sprzed pierwszego zasobu przyrostowego, co pozwoli uniknąć nakładania się i zapewni prawidłowe działanie odświeżania.

Miejsce docelowe danych musi być ustawione na stały schemat

Miejsce docelowe danych musi być ustawione na stały schemat, co oznacza, że schemat tabeli w miejscu docelowym danych musi być stały i nie można go zmienić. Jeśli schemat tabeli w miejscu docelowym danych jest ustawiony na schemat dynamiczny, należy zmienić go na stały schemat przed skonfigurowaniem odświeżania przyrostowego.

Jedyną obsługiwaną metodą aktualizacji w miejscu docelowym danych jest replace

Jedyną obsługiwaną metodą aktualizacji w miejscu docelowym danych jest replace, co oznacza, że przepływ danych zastępuje dane dla każdego zasobnika w miejscu docelowym danych nowymi danymi. Nie ma to jednak wpływu na dane poza zakresem zasobnika. Jeśli masz dane w miejscu docelowym danych starszym niż pierwszy zasobnik, odświeżanie przyrostowe nie ma wpływu na te dane.

Maksymalna liczba zasobników wynosi 50 dla pojedynczego zapytania i 150 dla całego przepływu danych

Każde zapytanie może obsłużyć maksymalnie 50 wiader. Jeśli masz więcej niż 50 wiader, musisz zwiększyć rozmiar wiadra lub zmniejszyć zakres czasu, aby zmniejszyć ich liczbę.

W przypadku całego przepływu danych limit wynosi 150 zasobników. Jeśli osiągniesz ten limit, możesz zmniejszyć liczbę zapytań przy użyciu odświeżania przyrostowego lub zwiększyć rozmiar zasobnika w zapytaniach.

Różnice między odświeżaniem przyrostowym w przepływie danych Gen1 i Gen2

Istnieją pewne różnice w sposobie działania odświeżania przyrostowego między przepływem danych Gen1 i przepływem danych Gen2. Oto główne różnice:

  • Funkcja pierwszej klasy: odświeżanie przyrostowe jest teraz funkcją pierwszej klasy w usłudze Dataflow Gen2. W przepływie danych Gen1 skonfigurowano odświeżanie przyrostowe po opublikowaniu przepływu danych. W usłudze Dataflow Gen2 można ją skonfigurować bezpośrednio w edytorze przepływu danych. Ułatwia to konfigurowanie i zmniejsza ryzyko wystąpienia błędów.

  • Brak zakresu danych historycznych: w przepływie danych Gen1 określono zakres danych historycznych podczas konfigurowania odświeżania przyrostowego. W usłudze Dataflow Gen2 nie określasz tego zakresu. Przepływ danych nie usuwa żadnych danych z miejsca docelowego, które są poza zakresem zasobnika. Jeśli masz dane w miejscu docelowym starszym niż pierwszy zasobnik, odświeżanie przyrostowe nie ma na nie wpływu.

  • Parametry automatyczne: w przepływie danych Gen1 określono parametry odświeżania przyrostowego podczas konfigurowania. W usłudze Dataflow Gen2 nie określisz tych parametrów. Przepływ danych automatycznie dodaje filtry i parametry jako ostatni krok w zapytaniu.

Często zadawane pytania

Otrzymuję ostrzeżenie, że użyto tej samej kolumny do wykrywania zmian i filtrowania. Co to oznacza?

Jeśli zostanie wyświetlone to ostrzeżenie, oznacza to, że kolumna określona do wykrywania zmian jest również używana do filtrowania danych. Nie zalecamy tego, ponieważ może to prowadzić do nieoczekiwanych wyników.

Zamiast tego użyj innej kolumny do wykrywania zmian i filtrowania danych. Jeśli dane przemieszczają się między kubełkami, przepływ danych może nie wykryć zmian poprawnie i może utworzyć zduplikowane dane w docelowej lokalizacji.

To ostrzeżenie można rozwiązać, używając innej kolumny do wykrywania zmian i filtrowania danych. Możesz też zignorować ostrzeżenie, jeśli masz pewność, że dane nie zmieniają się między odświeżeniami określonej kolumny.

Chcę użyć odświeżania przyrostowego z miejscem docelowym danych, które nie jest obsługiwane. Co mogę zrobić?

Jeśli chcesz użyć odświeżania przyrostowego z miejscem docelowym danych, które go nie obsługuje, możesz wykonać następujące czynności:

Włącz odświeżanie przyrostowe w zapytaniu i utwórz drugie zapytanie odwołujące się do danych etapowych. Następnie użyj tego drugiego zapytania, aby zaktualizować ostateczne miejsce docelowe. Takie podejście nadal zmniejsza przetwarzanie danych z systemu źródłowego, ale należy wykonać pełne odświeżenie z danych tymczasowych do końcowego miejsca docelowego.

Upewnij się, że okno i rozmiar zasobnika są poprawnie skonfigurowane. Nie gwarantujemy, że dane etapowe pozostaną dostępne poza zakresem zasobnika.

Inną opcją jest użycie wzorca amasy przyrostowej. Zapoznaj się z naszym przewodnikiem: przyrostowe zbieranie danych za pomocą usługi Dataflow Gen2.

Jak mogę wiedzieć, czy moje zapytanie ma włączone odświeżanie przyrostowe?

Możesz sprawdzić, czy zapytanie ma włączone odświeżanie przyrostowe, sprawdzając ikonę obok zapytania w edytorze przepływu danych. Jeśli ikona zawiera niebieski trójkąt, odświeżanie przyrostowe jest włączone. Jeśli ikona nie zawiera niebieskiego trójkąta, odświeżanie przyrostowe nie jest włączone.

Moje źródło pobiera zbyt wiele żądań, gdy używam odświeżania przyrostowego. Co mogę zrobić?

Możesz kontrolować liczbę żądań wysyłanych przez przepływ danych do systemu źródłowego. Oto, jak to zrobić:

Przejdź do ustawień globalnych przepływu danych i poszukaj ustawienia równoległych ocen zapytań. Ustaw tę wartość na niższą liczbę, aby zmniejszyć liczbę żądań wysyłanych do systemu źródłowego. Pomaga to zmniejszyć obciążenie źródła i poprawić jego wydajność.

Aby znaleźć to ustawienie: przejdź do karty > ustawień > globalnych, ustaw maksymalną liczbę równoległych ocen zapytań.

Zalecamy używanie tego limitu tylko wtedy, gdy system źródłowy nie może obsłużyć domyślnej liczby współbieżnych żądań.

Zrzut ekranu przedstawiający ustawienia kontrolki współbieżności przepływu danych.

Chcę użyć odświeżania przyrostowego, ale widzę, że odświeżenie przepływu danych trwa dłużej po włączeniu. Co mogę zrobić?

Odświeżanie przyrostowe powinno przyspieszyć przepływ danych, przetwarzając mniej danych. Ale czasami dzieje się odwrotnie. Zwykle oznacza to, że obciążenie związane z zarządzaniem zasobnikami i sprawdzaniem zmian zajmuje więcej czasu niż można zaoszczędzić na przetwarzaniu mniejszej ilości danych.

Oto, co możesz wypróbować:

Dostosuj ustawienia: zwiększ rozmiar zasobnika, aby zmniejszyć liczbę zasobników. Mniejsza liczba pojemników oznacza mniejsze obciążenie związane z zarządzaniem nimi.

Spróbuj pełnego odświeżenia: Jeśli dostosowanie ustawień nie pomoże, rozważ wyłączenie odświeżania przyrostowego. Pełne odświeżanie może być bardziej wydajne dla konkretnego scenariusza.

Dalsze kroki