Udostępnij przez


Miejsca docelowe danych i ustawienia zarządzane przepływu danych gen2

Po wyczyszczeniu i przygotowaniu danych za pomocą usługi Dataflow Gen2 warto je zapisać w innym miejscu. Usługa Dataflow Gen2 umożliwia wybór spośród kilku miejsc docelowych, takich jak Azure SQL, Fabric Lakehouse i inne. Po wybraniu miejsca docelowego przepływ danych Gen2 zapisuje tam dane i można go użyć do analizy i raportowania.

Poniższa lista zawiera obsługiwane miejsca docelowe danych:

  • Bazy danych Azure SQL Database
  • Azure Data Explorer (Kusto)
  • Azure Datalake Gen2 (wersja zapoznawcza)
  • Tabele Fabric Lakehouse
  • Fabric Lakehouse Files (wersja zapoznawcza)
  • Magazyn sieci szkieletowej
  • Baza danych KQL sieci szkieletowej
  • Sieć szkieletowa SQL Database
  • Pliki programu SharePoint

Uwaga

Aby załadować dane do usługi Fabric Warehouse, możesz użyć łącznika usługi Azure Synapse Analytics (SQL DW), uzyskując parametry połączenia SQL. Więcej informacji: Łączność z magazynowaniem danych w usłudze Microsoft Fabric

Punkty wejścia

Każde zapytanie dotyczące danych w przepływie danych Gen2 może mieć miejsce docelowe danych. Miejsca docelowe można stosować tylko do zapytań tabelarycznych — funkcje i listy nie są obsługiwane. Możesz ustawić miejsce docelowe danych dla każdego zapytania osobno i użyć różnych miejsc docelowych w tym samym przepływie danych.

Istnieją trzy sposoby konfigurowania miejsca docelowego danych:

  • Za pośrednictwem górnej wstążki.

    Zrzut ekranu przedstawiający wstążkę karty Narzędzia główne dodatku Power Query z wyróżnieniem Dodaj miejsce docelowe danych.

  • Za pomocą ustawień zapytania.

    Zrzut ekranu przedstawiający okienko Ustawienia zapytania z przyciskiem Miejsce docelowe danych i wyświetloną listą miejsc docelowych.

  • Za pomocą widoku diagramu.

    Zrzut ekranu przedstawiający zapytanie w widoku diagramu z ikoną dodawania miejsc docelowych i wyświetloną listą miejsc docelowych.

Nawiązywanie połączenia z miejscem docelowym danych

Nawiązywanie połączenia z miejscem docelowym danych działa jak nawiązywanie połączenia ze źródłem danych. Możesz używać połączeń zarówno do odczytywania, jak i zapisywania danych, o ile masz odpowiednie uprawnienia do źródła danych. Musisz utworzyć nowe połączenie lub wybrać istniejące, a następnie wybrać pozycję Dalej.

Zrzut ekranu przedstawiający okno Łączenie z miejscem docelowym danych dla miejsca docelowego usługi Lakehouse.

Konfigurowanie miejsc docelowych opartych na plikach

Po wybraniu miejsca docelowego opartego na plikach (na przykład programu SharePoint) należy skonfigurować kilka ustawień. Oto, co należy ustawić:

  • Nazwa pliku: nazwa pliku, który zostanie utworzony w miejscu docelowym. Domyślnie nazwa pliku jest zgodna z nazwą zapytania.
  • Format pliku: format pliku, który zostanie utworzony w miejscu docelowym.
  • Źródło pliku: kodowanie używane do tworzenia pliku w miejscu docelowym. Domyślnie jest to ustawienie UTF-8.
  • Ogranicznik pliku: ogranicznik używany do tworzenia pliku w miejscu docelowym. Domyślnie jest ona ustawiona na przecinek.

Zrzut ekranu przedstawiający okno Ustawienia miejsca docelowego pliku z wyświetloną nazwą pliku, formatem pliku, źródłami plików i ogranicznikami plików.

Tworzenie nowej tabeli lub wybieranie istniejącej tabeli

Podczas ładowania do miejsca docelowego danych możesz utworzyć nową tabelę lub wybrać istniejącą.

Utwórz nową tabelę

Po wybraniu opcji utworzenia nowej tabeli usługa Dataflow Gen2 tworzy nową tabelę w miejscu docelowym danych podczas odświeżania. Jeśli tabela zostanie usunięta później (jeśli ręcznie przejdziesz do miejsca docelowego i usuniesz ją), przepływ danych ponownie utworzy tabelę podczas następnego odświeżania.

Domyślnie nazwa tabeli jest zgodna z nazwą zapytania. Jeśli nazwa tabeli zawiera znaki, których miejsce docelowe nie obsługuje, nazwa tabeli zostanie automatycznie skorygowana. Na przykład wiele miejsc docelowych nie obsługuje spacji ani znaków specjalnych.

Zrzut ekranu przedstawiający okno Wybierz miejsce docelowe z wybranym przyciskiem Nowa tabela.

Następnie należy wybrać kontener docelowy. Jeśli wybrano dowolne miejsce docelowe danych Fabric, możesz użyć nawigatora, aby wybrać element Fabric, w którym chcesz załadować dane. W przypadku miejsc docelowych platformy Azure możesz określić bazę danych podczas tworzenia połączenia lub wybrać bazę danych w środowisku nawigatora.

Korzystanie z istniejącej tabeli

Aby wybrać istniejącą tabelę, użyj przełącznika w górnej części nawigatora. Podczas wybierania istniejącej tabeli należy wybrać zarówno element/bazę danych Fabric, jak i samą tabelę za pomocą nawigatora.

Jeśli używasz istniejącej tabeli, nie można jej odtworzyć w żadnym scenariuszu. Jeśli tabela zostanie usunięta ręcznie z miejsca docelowego danych, usługa Dataflow Gen2 nie utworzy ponownie tabeli podczas następnego odświeżania.

Zrzut ekranu przedstawiający okno Wybierz docelowy obiekt docelowy z wybranym przyciskiem Istniejąca tabela.

Pliki lub tabele lakehouse'owe

W przypadku Lakehouse masz możliwość utworzenia plików lub tabel w Lakehouse. Jest to unikatowe, ponieważ większość miejsc docelowych obsługuje tylko jedno lub drugie. Dzięki temu można uzyskać większą elastyczność w sposobie tworzenia struktury danych w swoim Lakehouse.

Aby przełączać się między plikami a tabelami, można użyć przełącznika podczas przeglądania lakehouse.

Zrzut ekranu przedstawiający przełącznik trybu plików.

Ustawienia zarządzane dla nowych tabel

Podczas ładowania do nowej tabeli ustawienia automatyczne są domyślnie włączone. Jeśli używasz ustawień automatycznych, Dataflow Gen2 samodzielnie zarządza mapowaniem. Oto co robią ustawienia automatyczne:

  • Wymiana metody aktualizacji: dane są zastępowane podczas każdego odświeżania przepływu danych. Wszystkie dane w miejscu docelowym zostaną usunięte. Dane w miejscu docelowym są zastępowane danymi wyjściowymi przepływu danych.

  • Zarządzane mapowanie: Mapowanie jest dla ciebie zarządzane. Jeśli musisz wprowadzić zmiany w danych/zapytaniu, aby dodać kolejną kolumnę lub zmienić typ danych, mapowanie zostanie automatycznie dostosowane do tej zmiany po ponownej opublikowaniu przepływu danych. Nie trzeba przechodzić do środowiska docelowego danych za każdym razem, gdy wprowadzasz zmiany w przepływie danych, co ułatwia wprowadzanie zmian schematu podczas ponownego publikowania przepływu danych.

  • Upuść i utwórz ponownie tabelę: aby zezwolić na te zmiany schematu, tabela zostanie porzucona i utworzona ponownie podczas każdego odświeżania przepływu danych. Odświeżanie przepływu danych może spowodować usunięcie relacji lub miar, które zostały wcześniej dodane do tabeli.

Uwaga

Obecnie ustawienia automatyczne są obsługiwane tylko dla usług Lakehouse i Azure SQL Database jako miejsca docelowego danych.

Zrzut ekranu przedstawiający okno Wybieranie ustawień docelowych z wybraną opcją Użyj ustawień automatycznych.

Ustawienia ręczne

Wyłączając opcję Użyj ustawień automatycznych, możesz uzyskać pełną kontrolę nad sposobem ładowania danych do miejsca docelowego danych. Możesz wprowadzić zmiany w mapowaniu kolumn, zmieniając typ źródła lub wykluczając dowolną kolumnę, której nie potrzebujesz w miejscu docelowym danych.

Zrzut ekranu przedstawiający okno Wybieranie ustawień docelowych z niezaznaczonymi opcjami Użyj ustawień automatycznych i wyświetlanymi różnymi ustawieniami ręcznymi.

Metody aktualizacji

Większość miejsc docelowych obsługuje zarówno dołączanie, jak i zastępowanie jako metody aktualizacji. Jednak bazy danych KQL sieci szkieletowej i usługa Azure Data Explorer nie obsługują zastępowania jako metody aktualizacji.

  • Zamień: podczas każdego odświeżania przepływu danych dane są usuwane z miejsca docelowego i zastępowane danymi wyjściowymi przepływu danych.

  • Dołączanie: podczas każdego odświeżania przepływu danych dane wyjściowe z przepływu danych są dołączane do istniejących danych w tabeli docelowej danych.

Opcje schematu publikowania

Opcje schematu publikowania mają zastosowanie tylko wtedy, gdy metoda aktualizacji zostanie zamieniona. Podczas dołączania danych zmiany schematu nie są możliwe.

  • Schemat dynamiczny: podczas wybierania schematu dynamicznego można zezwolić na zmiany schematu w miejscu docelowym danych podczas ponownego publikowania przepływu danych. Ponieważ nie używasz mapowania zarządzanego, podczas wprowadzania zmian w zapytaniu nadal trzeba zaktualizować mapowanie kolumn w kreatorze docelowym przepływu danych. Gdy odświeżanie wykryje różnicę między schematem docelowym a oczekiwanym schematem, tabela zostanie porzucona, a następnie ponownie utworzona w celu dopasowania do oczekiwanego schematu. Odświeżanie przepływu danych może spowodować usunięcie relacji lub miar, które zostały wcześniej dodane do tabeli.

  • Stały schemat: po wybraniu stałego schematu zmiany schematu nie są możliwe. Po odświeżeniu przepływu danych tylko wiersze w tabeli zostaną porzucone i zastąpione danymi wyjściowymi z przepływu danych. Wszystkie relacje lub miary w tabeli pozostają nienaruszone. Jeśli wprowadzisz jakiekolwiek zmiany w zapytaniu w przepływie danych, publikowanie przepływu danych zakończy się niepowodzeniem, jeśli wykryje, że schemat zapytania nie jest zgodny ze schematem docelowym danych. Użyj tego ustawienia, jeśli nie planujesz zmiany schematu i dodano relacje lub miary do tabeli docelowej.

Uwaga

Podczas ładowania danych do magazynu obsługiwane jest tylko stałe schematy.

Zrzut ekranu przedstawiający opcje Schemat opcji publikowania z wybranym stałym schematem.

Parametryzacja

Parametry są podstawową funkcją w usłudze Dataflow Gen2. Po utworzeniu parametru lub użyciu ustawienia Zawsze zezwalaj widżet wejściowy staje się dostępny do zdefiniowania tabeli lub nazwy pliku dla miejsca docelowego.

Zrzut ekranu przedstawiający środowisko docelowe danych, w którym nazwa tabeli używa parametru o nazwie

Uwaga

Parametry w miejscu docelowym danych można również stosować bezpośrednio za pośrednictwem skryptu języka M utworzonego dla zapytań powiązanych z nim. Możesz ręcznie zmienić skrypt zapytań docelowych danych, aby zastosować parametry zgodnie z wymaganiami. Jednak interfejs użytkownika obecnie obsługuje tylko parametryzację pola nazwy tabeli lub pliku.

Skrypt mashupu dla zapytań docelowych danych

W przypadku korzystania z funkcji miejsca docelowego danych ustawienia zdefiniowane w celu załadowania danych do miejsca docelowego są zdefiniowane w dokumencie mashup przepływu danych. Aplikacja przepływu danych zasadniczo tworzy dwa składniki:

  • Zapytanie zawierające kroki nawigacji do miejsca docelowego. Jest zgodny ze wzorcem początkowej nazwy zapytania z sufiksem _DataDestination. Przykład:
shared #"Orders by Region_DataDestination" = let
  Pattern = Lakehouse.Contents([CreateNavigationProperties = false, EnableFolding = false]),
  Navigation_1 = Pattern{[workspaceId = "cfafbeb1-8037-4d0c-896e-a46fb27ff229"]}[Data],
  Navigation_2 = Navigation_1{[lakehouseId = "b218778-e7a5-4d73-8187-f10824047715"]}[Data],
  TableNavigation = Navigation_2{[Id = "Orders by Region", ItemKind = "Table"]}?[Data]?
in
  TableNavigation;
  • Rekord atrybutu DataDestinations dla zapytania zawierającego logikę, która ma być używana do ładowania danych do miejsca docelowego. Rekord ma wskaźnik do zapytania zawierającego kroki nawigacji do miejsca docelowego i ogólne ustawienia docelowe, takie jak metody aktualizacji, opcje schematu i rodzaj miejsca docelowego, taki jak tabela lub inny rodzaj miejsca docelowego. Przykład:
[DataDestinations = {[Definition = [Kind = "Reference", QueryName = "Orders by Region_DataDestination", IsNewTarget = true], Settings = [Kind = "Automatic", TypeSettings = [Kind = "Table"]]]}]

Te elementy skryptów języka M nie są widoczne w aplikacji przepływu danych, ale można uzyskać dostęp do tych informacji za pośrednictwem:

Obsługiwane typy źródeł danych na miejsce docelowe

Obsługiwane typy danych na lokalizację magazynu DataflowStagingLakehouse Dane wyjściowe usługi Azure DB (SQL) Dane wyjściowe usługi Azure Data Explorer Wyjście usługi Fabric Lakehouse (LH) Dane wyjściowe magazynu sieci szkieletowej (WH) Dane wyjściowe usługi Sql Database (SQL) sieci szkieletowej
Akcja Nie Nie Nie Nie Nie Nie
Dowolne Nie Nie Nie Nie Nie Nie
Plik binarny Nie Nie Nie Nie Nie Nie
Waluta Tak Tak Tak Tak Nie Tak
DateTimeZone Tak Tak Tak Nie Nie Tak
Czas trwania Nie Nie Tak Nie Nie Nie
Funkcja Nie Nie Nie Nie Nie Nie
Brak Nie Nie Nie Nie Nie Nie
Null (zero) Nie Nie Nie Nie Nie Nie
Czas Tak Tak Nie Nie Nie Tak
Typ Nie Nie Nie Nie Nie Nie
Ustrukturyzowana (lista, rekord, tabela) Nie Nie Nie Nie Nie Nie

Podczas pracy z typami danych, takimi jak waluta lub wartość procentowa, zwykle konwertujemy je na ich odpowiedniki dziesiętne dla większości miejsc docelowych. Jednak podczas ponownego nawiązywania połączenia z tymi miejscami docelowymi i, na przykład, podążając istniejącą ścieżką tabeli, mogą wystąpić trudności z mapowaniem waluty na kolumnę dziesiętną. W takich przypadkach spróbuj zmienić typ danych w edytorze na dziesiętny, ponieważ ułatwi to mapowanie istniejącej tabeli i kolumny.

Tematy zaawansowane

Używanie przemieszczania przed załadowaniem do miejsca docelowego

Aby zwiększyć wydajność przetwarzania zapytań, staging może być używane w usłudze Dataflow Gen2 do wykorzystania zasobów obliczeniowych Fabric do wykonywania zapytań.

W przypadku włączenia etapowania w zapytaniach (domyślne działanie) dane są ładowane do lokalizacji etapowania, która jest wewnętrznym Lakehouse dostępnym tylko przez przepływ danych.

Użycie lokalizacji przejściowych może poprawić wydajność w niektórych przypadkach, gdy składanie zapytania do punktu końcowego analizy SQL jest szybsze niż przetwarzanie w pamięci.

Podczas ładowania danych do usługi Lakehouse lub innych miejsc docelowych innych niż magazyn domyślnie wyłączamy funkcję przemieszczania, aby zwiększyć wydajność. Podczas ładowania danych do celu danych, dane są zapisywane bezpośrednio w celu danych, bez użycia etapu pośredniego. Jeśli chcesz użyć przemieszczania dla zapytania, możesz włączyć je ponownie.

Aby włączyć przemieszczanie, kliknij prawym przyciskiem myszy zapytanie i włącz przemieszczanie, wybierając przycisk Włącz przemieszczanie . Następnie zapytanie zmieni kolor na niebieski.

Zrzut ekranu przedstawiający menu rozwijane zapytania z wyróżnieniem Włącz przemieszczanie.

Ładowanie danych do magazynu

Podczas ładowania danych do magazynu wymagane jest przemieszczanie przed operacją zapisu w miejscu docelowym danych. To wymaganie poprawia wydajność. Obecnie obsługiwane jest tylko ładowanie do tego samego obszaru roboczego co przepływ danych. Upewnij się, że dla wszystkich zapytań ładowanych do magazynu włączono przemieszczanie.

Gdy przemieszczanie jest wyłączone, a jako miejsce docelowe danych wyjściowych wybierzesz pozycję Magazyn, przed skonfigurowaniem miejsca docelowego danych zostanie wyświetlone ostrzeżenie o włączeniu przemieszczania.

Zrzut ekranu przedstawiający ostrzeżenie Dodawanie miejsca docelowego danych.

Jeśli magazyn jest już miejscem docelowym i spróbuj wyłączyć przemieszczanie, zostanie wyświetlone ostrzeżenie. Magazyn można usunąć jako miejsce docelowe lub odrzucić akcję tymczasową.

Zrzut ekranu przedstawiający ostrzeżenie Włącz przemieszczanie.

Obsługa schematów dla baz danych Lakehouse, Warehouse i SQL (wersja zapoznawcza)

Bazy danych Lakehouse, Warehouse i SQL w usłudze Microsoft Fabric obsługują możliwość tworzenia schematu dla danych. Oznacza to, że możesz utworzyć strukturę danych w taki sposób, aby ułatwić zarządzanie nimi i wykonywanie zapytań. Aby móc zapisywać w schematach w tych miejscach docelowych, należy włączyć opcję Navigate using full hierarchy (Nawigacja przy użyciu pełnej hierarchii) w sekcji opcje zaawansowane podczas konfigurowania połączenia. Jeśli ta opcja nie zostanie włączona, nie będzie można wybrać ani wyświetlić schematów w miejscu docelowym. Ograniczenie wersji zapoznawczej włączania funkcji Navigate przy użyciu pełnej hierarchii polega na tym, że szybkie kopiowanie może nie działać prawidłowo. Aby używać tej funkcji w połączeniu z bramą, wymagana jest co najmniej 3000.290 wersja bramy.

Zrzut ekranu przedstawiający opcję Włącz obsługę schematu.

Opróżnianie miejsca docelowego danych usługi Lakehouse

W przypadku korzystania z usługi Lakehouse jako miejsca docelowego dla usługi Dataflow Gen2 w usłudze Microsoft Fabric ważne jest regularne wykonywanie konserwacji w celu zapewnienia optymalnej wydajności i wydajnego zarządzania magazynem. Jednym z podstawowych zadań konserwacji jest opróżnianie miejsca docelowego danych. Ten proces pomaga usunąć stare pliki, do których nie odwołuje się już dziennik tabeli delty, co optymalizuje koszty magazynowania i utrzymuje integralność danych.

Dlaczego czyszczenie jest ważne

  1. Optymalizacja magazynu: w miarę upływu czasu tabele delty gromadzą stare pliki, które nie są już potrzebne. Czyszczenie tych plików pomaga oczyścić te pliki, zwalniając miejsce do magazynowania i zmniejszając koszty.
  2. Poprawa wydajności: usunięcie niepotrzebnych plików może zwiększyć wydajność zapytań, zmniejszając liczbę plików, które należy skanować podczas operacji odczytu.
  3. Integralność danych: zapewnienie, że tylko odpowiednie pliki są przechowywane, pomaga zachować integralność danych, zapobiegając potencjalnym problemom z niezatwierdzonych plików, które mogą prowadzić do błędów czytnika lub uszkodzenia tabeli.

Jak opróżnić miejsce docelowe danych

Aby opróżnić tabele usługi Delta w usłudze Lakehouse, wykonaj następujące kroki:

  1. Przejdź do usługi Lakehouse: z poziomu konta usługi Microsoft Fabric przejdź do żądanej usługi Lakehouse.
  2. Konserwacja tabeli dostępu: w Eksploratorze usługi Lakehouse kliknij prawym przyciskiem myszy tabelę, którą chcesz zachować, lub użyj wielokropka, aby uzyskać dostęp do menu kontekstowego.
  3. Wybierz opcje konserwacji: wybierz pozycję Menu Konserwacja i wybierz opcję Opróżnij.
  4. Uruchom polecenie opróżniania: ustaw próg przechowywania (wartość domyślna to siedem dni) i wykonaj polecenie opróżniania, wybierając pozycję Uruchom teraz.

Najlepsze rozwiązania

  • Okres przechowywania: ustaw interwał zatrzymywania danych wynoszący co najmniej siedem dni, aby upewnić się, że stare migawki i niezatwierdzone pliki nie zostaną przedwcześnie usunięte, co może spowodować zakłócenia współbieżnych czytników tabel i zapisujących.
  • Regularna konserwacja: Zaplanuj regularne czyszczenie w ramach procedury konserwacji danych, aby zachować zoptymalizowane i gotowe tabele delta do analizy.
  • Odświeżanie przyrostowe: jeśli używasz odświeżania przyrostowego, upewnij się, że opróżnianie jest wyłączone, ponieważ może zakłócać proces odświeżania przyrostowego.

Dzięki włączeniu opróżniania do strategii konserwacji danych możesz upewnić się, że miejsce docelowe usługi Lakehouse pozostaje wydajne, ekonomiczne i niezawodne dla operacji przepływu danych.

Aby uzyskać bardziej szczegółowe informacje na temat konserwacji tabel w usłudze Lakehouse, zapoznaj się z dokumentacją konserwacji tabeli delty.

Dopuszczający wartość null

W niektórych przypadkach, gdy masz kolumnę dopuszczaną do wartości null, jest wykrywana przez dodatek Power Query jako niepusta, a podczas zapisywania w miejscu docelowym danych typ kolumny jest niepusty. Podczas odświeżania występuje następujący błąd:

E104100 Couldn't refresh entity because of an issue with the mashup document MashupException.Error: DataFormat.Error: Error in replacing table's content with new data in a version: #{0}., InnerException: We can't insert null data into a non-nullable column., Underlying error: We can't insert null data into a non-nullable column. Details: Reason = DataFormat.Error;Message = We can't insert null data into a non-nullable column.; Message.Format = we can't insert null data into a non-nullable column.

Aby wymusić kolumny dopuszczane do wartości null, możesz wypróbować następujące kroki:

  1. Usuń tabelę z miejsca docelowego danych.

  2. Usuń miejsce docelowe danych z przepływu danych.

  3. Przejdź do przepływu danych i zaktualizuj typy danych przy użyciu następującego kodu dodatku Power Query:

    Table.TransformColumnTypes(
       #"PREVIOUS STEP", {
          {"COLLUMNNAME1", type nullable text}, 
          {"COLLUMNNAME2", type nullable Int64.Type}
       }
    ) 
    
  4. Dodaj miejsce docelowe danych.

Konwersja typów danych i skalowanie upscaling

W niektórych przypadkach typ danych w przepływie danych różni się od tego, co jest obsługiwane w miejscu docelowym danych. Poniżej przedstawiono kilka domyślnych konwersji, które zostały wprowadzone, aby upewnić się, że nadal możesz pobrać dane w miejscu docelowym danych:

Element docelowy Typ danych przepływu danych Docelowy typ danych
Magazyn sieci szkieletowej Int8.Type Int16.Type