Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Za pomocą ustawień zapytania.
Za pomocą widoku diagramu.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
- Interfejs API REST sieci szkieletowej dla definicji przepływu danych GET
- Dokument Mashup.pq podczas korzystania z integracji z usługą Git
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.
Ł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.
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ą.
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.
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
- 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.
- 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.
- 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:
- Przejdź do usługi Lakehouse: z poziomu konta usługi Microsoft Fabric przejdź do żądanej usługi Lakehouse.
- 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.
- Wybierz opcje konserwacji: wybierz pozycję Menu Konserwacja i wybierz opcję Opróżnij.
- 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:
Usuń tabelę z miejsca docelowego danych.
Usuń miejsce docelowe danych z przepływu danych.
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} } )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 |