Udostępnij przez


Używanie odświeżania przyrostowego z przepływami danych

Za pomocą przepływów danych można przenieść duże ilości danych do usługi Power BI lub udostępnionego magazynu organizacji. W niektórych przypadkach jednak nie jest praktyczne zaktualizowanie pełnej kopii danych źródłowych w każdym odświeżeniu. Dobrą alternatywą jest odświeżanie przyrostowe, które zapewnia następujące korzyści dla przepływów danych:

  • Odświeżanie odbywa się szybciej: należy odświeżyć tylko zmienione dane. Na przykład odśwież tylko ostatnie pięć dni 10-letniego przepływu danych.
  • Odświeżanie jest bardziej niezawodne: na przykład nie jest konieczne utrzymywanie długotrwałych połączeń z nietrwałymi systemami źródłowymi.
  • Zużycie zasobów jest mniejsze: mniej danych do odświeżania zmniejsza ogólne zużycie pamięci i innych zasobów.

Odświeżanie przyrostowe jest dostępne w przepływach danych utworzonych w usłudze Power BI i przepływach danych utworzonych w usłudze Power Apps. W tym artykule przedstawiono ekrany z usługi Power BI, ale te instrukcje dotyczą przepływów danych utworzonych w usłudze Power BI lub w usłudze Power Apps.

Uwaga / Notatka

Po zmianie schematu tabeli w analitycznym przepływie danych następuje pełne odświeżenie, aby upewnić się, że wszystkie wynikowe dane są zgodne z nowym schematem. W związku z tym wszelkie dane przechowywane przyrostowo są odświeżane, a w niektórych przypadkach, jeśli system źródłowy nie zachowuje danych historycznych, zostanie utracony.

Zrzut ekranu przedstawiający okno dialogowe ustawień odświeżania przyrostowego używanego do odświeżania przepływów danych.

Użycie odświeżania przyrostowego w przepływach danych utworzonych w usłudze Power BI wymaga, aby przepływ danych musiał znajdować się w obszarze roboczym w pojemności Premium. Odświeżanie przyrostowe w usłudze Power Apps wymaga planów usługi Power Apps dla aplikacji lub poszczególnych użytkowników i jest dostępne tylko dla przepływów danych w usłudze Azure Data Lake Storage jako miejsca docelowego.

W usłudze Power BI lub Power Apps wykorzystanie odświeżania przyrostowego wymaga, aby dane źródłowe zaimportowane do przepływu danych miały pole typu DateTime, które umożliwia filtrowanie procesu odświeżania przyrostowego.

Konfigurowanie odświeżania przyrostowego dla przepływów danych

Przepływ danych może zawierać wiele tabel. Odświeżanie przyrostowe jest konfigurowane na poziomie tabeli, co pozwala jednemu przepływowi danych przechowywać zarówno w pełni odświeżone tabele, jak i odświeżane przyrostowo tabele.

Aby skonfigurować tabelę odświeżaną przyrostowo, zacznij od skonfigurowania tabeli tak, jak w przypadku każdej innej tabeli.

Po utworzeniu i zapisaniu przepływu danych wybierz pozycję Odświeżanie przyrostowe w widoku tabeli, jak pokazano na poniższej ilustracji.

Zrzut ekranu usługi Power BI z podkreśloną ikoną odświeżania przyrostowego dla przepływów danych.

Po wybraniu ikony zostanie wyświetlone okno Ustawienia odświeżania przyrostowego . Włącz odświeżanie przyrostowe.

Zrzut ekranu przedstawiający okno dialogowe ustawień odświeżania przyrostowego z włączonym odświeżaniem przyrostowym.

Poniższa lista zawiera opis ustawień w oknie Ustawienia odświeżania przyrostowego .

  • Przełącznik odświeżania przyrostowego/wyłączania: włącza lub wyłącza zasady odświeżania przyrostowego dla tabeli.

  • Lista rozwijana pola filtru: wybiera pole zapytania, w którym tabela ma być filtrowana pod kątem przyrostów. To pole zawiera tylko pola DateTime. Nie można użyć odświeżania przyrostowego, jeśli tabela nie zawiera pola DateTime.

    Ważne

    Wybierz niezmienne pole daty dla filtru odświeżania przyrostowego. Jeśli wartość pola zmieni się (na przykład z polem zmodyfikowanym datą ), ta zmiana może prowadzić do niepowodzeń odświeżania z powodu zduplikowanych wartości w danych.

  • Przechowywanie/odświeżanie wierszy z przeszłości: przykład na poprzedniej ilustracji przedstawia te kolejne ustawienia.

    W tym przykładzie definiujemy zasady odświeżania, aby łącznie przechować dane przez pięć lat oraz stopniowo odświeżać dane z ostatnich 10 dni. Przy założeniu, że tabela jest odświeżona codziennie, dla każdej operacji odświeżania są wykonywane następujące akcje:

    • Dodaj nowy dzień danych.

    • Odśwież dane z ostatnich 10 dni do dzisiejszej daty.

    • Usuń lata kalendarzowe starsze niż pięć lat przed bieżącą datą. Jeśli na przykład bieżąca data to 1 stycznia 2019 r., rok 2013 zostanie usunięty.

    Pierwsze odświeżanie przepływu danych może zająć czas, aby zaimportować wszystkie pięć lat, ale kolejne odświeżania prawdopodobnie zostaną ukończone znacznie szybciej.

  • Wykrywanie zmian danych: odświeżanie przyrostowe na 10 dni jest znacznie bardziej wydajne niż pełne odświeżanie na pięć lat, ale być może można to zrobić jeszcze lepiej. Po wybraniu pola wyboru Wykryj zmiany danych możesz wybrać kolumnę daty/godziny, aby zidentyfikować i odświeżyć tylko dni, w których zmieniły się dane. Zakłada się, że taka kolumna istnieje w systemie źródłowym, który jest zwykle przeznaczony do celów inspekcji. Maksymalna wartość tej kolumny jest obliczana dla każdego z okresów w zakresie przyrostowym. Jeśli te dane nie uległy zmianie od czasu ostatniego odświeżenia, nie trzeba odświeżać okresu. W tym przykładzie może to jeszcze bardziej zmniejszyć liczbę dni odświeżania przyrostowego z 10 do być może 2.

    Wskazówka

    Bieżący projekt wymaga, aby kolumna używana do wykrywania zmian danych była utrwalana i buforowana w pamięci. Warto rozważyć jedną z następujących technik, aby zmniejszyć kardynalność i zużycie pamięci:

    • Utrwali tylko maksymalną wartość tej kolumny podczas odświeżania, na przykład przy użyciu funkcji Power Query.
    • Zmniejsz precyzję do poziomu, który jest akceptowalny, biorąc pod uwagę wymagania dotyczące częstotliwości odświeżania.
  • Odświeżaj tylko pełne okresy: Załóżmy, że odświeżanie ma być uruchamiane codziennie o godzinie 4:00. Jeśli dane pojawią się w systemie źródłowym w ciągu pierwszych czterech godzin tego dnia, możesz nie chcieć ich uwzględnić. Niektóre metryki biznesowe, takie jak baryłki dziennie w przemyśle naftowym i gazowym, nie są praktyczne ani rozsądne do uwzględnienia w oparciu o częściowe dni.

    Innym przykładem, w którym odpowiednie jest odświeżanie tylko pełnych okresów, to odświeżanie danych z systemu finansowego. Wyobraź sobie system finansowy, w którym dane z poprzedniego miesiąca są zatwierdzane w 12 dniu kalendarzowym miesiąca. Można ustawić zakres przyrostowy na jeden miesiąc i zaplanować uruchomienie odświeżania w 12 dniu miesiąca. Po wybraniu tej opcji system odświeży dane ze stycznia (ostatni pełny okres miesięczny) 12 lutego.

Uwaga / Notatka

Odświeżanie przyrostowe przepływu danych określa daty zgodnie z następującą logiką: jeśli odświeżanie jest zaplanowane, odświeżanie przyrostowe dla przepływów danych używa strefy czasowej zdefiniowanej w zasadach odświeżania. Jeśli nie ma harmonogramu odświeżania, odświeżanie przyrostowe używa czasu z komputera, na którym jest uruchomione odświeżanie.

Po skonfigurowaniu odświeżania przyrostowego przepływ danych automatycznie zmienia zapytanie w celu uwzględnienia filtrowania według daty. Jeśli przepływ danych został utworzony w usłudze Power BI, możesz również edytować automatycznie wygenerowane zapytanie, używając edytora zaawansowanego w Power Query, aby dostroić lub dostosować odświeżanie. Przeczytaj więcej na temat odświeżania przyrostowego i sposobu jego działania w poniższych sekcjach.

Uwaga / Notatka

Podczas edytowania przepływu danych edytor Power Query łączy się bezpośrednio ze źródłem danych i nie wyświetla buforowanych ani filtrowanych danych w przepływie danych po przetwarzaniu zasad odświeżania przyrostowego. Aby sprawdzić dane buforowane wewnątrz przepływu danych, połącz program Power BI Desktop z przepływem danych po skonfigurowaniu zasad odświeżania przyrostowego oraz po odświeżeniu przepływu.

Odświeżanie przyrostowe i tabele połączone vs. tabele obliczone

W przypadku tabel połączonych odświeżanie przyrostowe aktualizuje tabelę źródłową. Ponieważ tabele zlinkowane są po prostu wskaźnikiem do oryginalnej tabeli, odświeżanie przyrostowe nie ma wpływu na tabelę zlinkowaną. Gdy tabela źródłowa jest odświeżona zgodnie ze zdefiniowanymi zasadami odświeżania, każda połączona tabela powinna zakładać, że dane w źródle są odświeżane.

Obliczone tabele są oparte na zapytaniach wykonywanych na magazynie danych, który może być innym przepływem danych. W związku z tym tabele obliczane zachowują się tak samo jak tabele połączone.

Ponieważ tabele obliczeniowe i połączone tabele zachowują się podobnie, wymagania i kroki konfiguracji są takie same dla obu tych tabel. Jedną z różnic jest to, że w przypadku tabel obliczeniowych w niektórych konfiguracjach odświeżanie przyrostowe nie może być uruchamiane w sposób zoptymalizowany ze względu na sposób tworzenia partycji.

Zmiana między odświeżeniem przyrostowym a pełnym

Przepływy danych obsługują zmianę zasad odświeżania pomiędzy odświeżaniem przyrostowym a pełnym. Gdy zmiana nastąpi w obu kierunkach (pełna do przyrostowej lub przyrostowej do pełnej), zmiana wpływa na przepływ danych po następnym odświeżeniu.

Po przeniesieniu przepływu danych z pełnego odświeżania na przyrostowe, logika nowego odświeżania aktualizuje przepływ danych, uwzględniając okno odświeżania oraz przyrost, zgodnie z definicją w ustawieniach przyrostowego odświeżania.

Po przeniesieniu przepływu danych z przyrostowego do pełnego odświeżania wszystkie dane zebrane w odświeżaniu przyrostowym zastępują zasady zdefiniowane w pełnym odświeżeniu. Musisz zatwierdzić tę akcję.

Obsługa strefy czasowej w odświeżaniu przyrostowym

Odświeżanie przyrostowe przepływu danych zależy od czasu jego uruchomienia. Filtrowanie zapytania zależy od dnia jego uruchomienia.

Aby uwzględnić te zależności i zapewnić spójność danych, przyrostowe odświeżanie dla przepływów danych implementuje następującą heurystykę dla scenariuszy odśwież teraz:

  • W przypadku, gdy zaplanowane odświeżanie jest zdefiniowane w systemie, odświeżanie przyrostowe używa ustawień strefy czasowej z sekcji zaplanowanego odświeżania. Ten proces gwarantuje, że niezależnie od strefy czasowej osoby odświeżającej przepływ danych, zawsze jest zgodny z definicją systemu.

  • Jeśli nie zdefiniowano zaplanowanego odświeżania, przepływy danych używają strefy czasowej z komputera użytkownika, który wykonuje odświeżanie.

Odświeżanie przyrostowe można również wywołać przy użyciu interfejsów API. W takim przypadku wywołanie interfejsu API może przechowywać ustawienie strefy czasowej używane podczas odświeżania. Korzystanie z interfejsów API może być przydatne do celów testowania i walidacji.

Szczegóły implementacji odświeżania przyrostowego

Przepływy danych używają partycjonowania do odświeżania przyrostowego. Odświeżanie przyrostowe w przepływach danych zapewnia minimalną liczbę partycji spełniających wymagania zasad odświeżania. Stare partycje, które wykraczają poza zakres, są porzucane, co zapewnia przesuwne okno. Partycje są okazjonalnie scalane, co zmniejsza łączną wymaganą liczbę partycji. Ta minimalna liczba partycji poprawia kompresję, a w niektórych przypadkach może zwiększyć wydajność zapytań.

Przykłady w tej sekcji zawierają następujące zasady odświeżania:

  • Przechowywanie wierszy w ciągu ostatniego 1 kwartału
  • Odśwież wiersze z ostatnich 10 dni
  • Wykrywanie zmian danych = Fałsz
  • Odświeżanie tylko pełnych dni = True

Scalanie partycji

W tym przykładzie dzienne partycje są automatycznie scalane na poziomie miesiąca, gdy wykraczają poza zakres przyrostowy. Podziały w zakresie przyrostowym muszą być utrzymywane na poziomie dziennym, aby umożliwić odświeżanie wyłącznie tych dni. Operacja odświeżania z datą uruchomienia 12.11.2016 łączy dni z listopada, ponieważ wykraczają one poza zakres przyrostowy.

Diagram przedstawiający partycje łączenia w przepływach danych.

Usuwanie starych partycji

Stare partycje, które wykraczają poza ogólny zakres, są usuwane. Operacja odświeżania z datą uruchomienia 1/2/2017 usuwa partycję dla trzeciego kwartału 2016 r., ponieważ wykracza poza całkowity zakres.

Diagram przedstawiający usunięte stare partycje w przepływach danych.

Naprawa po długotrwałym uszkodzeniu

W tym przykładzie symulujemy, jak system bezpiecznie przywraca się po długotrwałej awarii. Załóżmy, że odświeżanie nie działa pomyślnie, ponieważ poświadczenia źródła danych wygasły, a rozwiązanie problemu trwa 13 dni. Zakres przyrostowy wynosi tylko 10 dni.

Następna pomyślna operacja odświeżania z datą uruchomienia 15.01.2017 musi uzupełnić brakujące 13 dni i je odświeżyć. Konieczne jest także odświeżenie ostatnich dziewięciu dni, bo nie odświeżono ich zgodnie z normalnym harmonogramem. Innymi słowy, zakres przyrostowy jest zwiększany z 10 do 22 dni.

Kolejna operacja odświeżania z datą uruchomienia 16.01.2017 r. wykorzystuje okazję do scalenia dni grudnia i miesięcy w czwartym kwartale 2016 r.

Diagram przedstawiający odzyskiwanie po długotrwałej awarii w przepływach danych.

Odświeżanie przyrostowe przepływów danych i zestawów danych

Odświeżanie przyrostowe przepływu danych i odświeżanie przyrostowe zestawu danych są przeznaczone do współpracy. Dopuszczalne i obsługiwane jest posiadanie tabeli w przepływie danych, która jest przyrostowo odświeżana i w pełni załadowana do zestawu danych lub tabeli w pełni załadowanej w przepływie danych, która jest przyrostowo ładowana do zestawu danych.

Oba podejścia działają zgodnie z określonymi definicjami w ustawieniach odświeżania. Więcej informacji: Odświeżanie przyrostowe w usłudze Power BI Premium

W tym artykule opisano odświeżanie przyrostowe dla przepływów danych. Oto kilka artykułów, które mogą być przydatne:

Aby uzyskać więcej informacji na temat dodatku Power Query i zaplanowanego odświeżania, możesz przeczytać następujące artykuły:

Aby uzyskać więcej informacji na temat usługi Common Data Model, możesz przeczytać jej artykuł z omówieniem: