W tym artykule przedstawiono informacje na temat często zadawanych pytań dotyczących eksportowania danych tabeli Microsoft Dataverse do Azure Data Lake i Azure Synapse Analytics.
Czy mogę ręcznie wykonać zadania, takie jak tworzenie, aktualizowanie, usuwanie lub ustawianie zasad automatycznego usuwania plików danych w połączonym magazynie Azure?
Pliki danych nie powinny być modyfikowane przez klienta i żadne pliki klienta nie powinny być umieszczane w folderach danych.
Uwaga
Aby usunąć nieaktualne i nieaktualne dane Azure Synapse Link w danych bez przerywania pracy, należy rozważyć użycie zapytania funkcji i analizować aktualizacje aktualizacje dotyczące aktualizacjach.
Jak mogę uzyskać dostęp do mojego relacje stołu?
Aby uzyskać dostęp do relacje wiele-do-wielu, relacja będzie dostępna jako tabela do wybrania na stronie Dodawanie tabel dla nowego łącza i z Zarządzaj tabelami dla istniejącego łącza.
Uwaga
Wszystkie relacje są domyślnie zapisane w formacie CSV w trybie dołączania.
Jak mogę uzyskać szacunkowe koszty przed dodaniem Azure Synapse Link?
Azure Synapse Link jest bezpłatną funkcją Dataverse. Korzystanie z usługi Azure Synapse Link for Dataverse nie wiąże się z dodatkowymi opłatami w Dataverse. Należy jednak wziąć pod uwagę potencjalne koszty usługi Azure:
- Magazyn danych w Azure Data Lake Storage Gen2: Ceny Azure Storage Data Lake Gen2 | Microsoft Azure
- Koszt zużycia danych (np. Synapse Workspace): Pricing - Azure Synapse Analytics | Microsoft Azure Aby uzyskać kompleksowe informacje na temat usługi Microsoft Cost Management, przejdź do: Plan zarządzania kosztami platformy Azure - Microsoft Cost Management | Microsoft Learn
Co się dzieje po dodaniu kolumny?
Kiedy dodajesz nową kolumnę do tabeli w źródle, jest ona również dodawana na końcu pliku w miejscu docelowym w odpowiedniej partycji plików. Podczas gdy wiersze, które istniały przed dodaniem kolumny, nie są wyświetlane w nowej kolumnie, nowe lub zaktualizowane wiersze pokazują nowo dodaną kolumnę.
Co się dzieje po usunięciu kolumny?
Gdy usuniesz kolumnę z tabeli w źródle, kolumna nie zostanie usunięta z miejsca docelowego. Zamiast tego wiersze nie są już aktualizowane i oznaczone jako null podczas przetwarzania poprzednich wierszy.
Co się dzieje w przypadku zmiany typu danych kolumny?
Zmiana typu danych kolumny jest zmianą powodującą niezgodność i wymaga odłączenia i ponownego połączenia.
Co się dzieje po usunięciu wiersza?
Usuwanie wiersza jest obsługiwane w inny sposób w zależności od dostępnych opcji zapisu danych:
- Aktualizacja w miejscu o formacie CSV: Jest to tryb domyślny. Gdy wiersz tabeli jest usuwany w tym trybie, jest także usuwany z odpowiednich partycji danych w katalogu danych Azure Data Lake. Innymi słowy, dane są usuwane z miejsca docelowego.
- Tryb dołączania tylko do pliku CSV i aktualizacji folderu folderów pochyłych: Dataverse W tym trybie po usunięciu wiersza tabeli nie jest on na pewno usuwany z miejsca docelowego. Zamiast tego wiersz jest dodawany i ustawiany jako
isDeleted=True
w pliku z odpowiadającą partycją danych w Azure Data Lake. - Eksportowanie do formatu Delta Lake: Azure Synapse Link powoduje usunięcie danych podczas następnego cyklu synchronizacji, a po 30 dniach usuwanie jest czynnością twardej.
Dlaczego nie widzę nagłówka kolumny w wyeksportowanym pliku?
Azure Synapse Link jest zgodny z Common Data Model, aby umożliwić udostępnianie danych i ich znaczenia między aplikacjami i procesami biznesowymi, takimi jak Microsoft Power Apps, Power BI, Dynamics 365 i Azure. W każdym folderze CDM metadane, takie jak nagłówek kolumny, są przechowywane w pliku model.json. Więcej informacji: Common Data Model oraz Azure Data Lake Storage Gen2 | Microsoft Learn
Dlaczego plik Model.json zwiększa lub zmienia długość typów danych i nie zachowuje danych zdefiniowanych w Dataverse?
Element Model.json zapewnia długość bazy danych dla rozmiaru kolumny. Dataverse ma koncept długości bazy danych dla każdej kolumny. Jeśli utworzono kolumnę o rozmiarze 200 i później zmniejszono jej do 100, Dataverse jednak w dalszym ciągu umożliwia prezentowanie istniejących danych w Dataverse. Trzeba zachowywać do DBLength
200 i MaxLength
100. Co widać w Model.json to DBLength
a użycie go do procesów nigdy nie będzie zapewniać mniejszej przestrzeni dla kolumn Dataverse .
Uwaga
Pola notatek są definiowane varchar(max)
jako maksymalna długość domyślna 9999.
Jakich formatów daty i godziny można się spodziewać w wyeksportowanych tabelach Dataverse?
Istnieją trzy formaty daty i godziny, których można się spodziewać w wyeksportowanych tabelach Dataverse.
Nazwa kolumny | Formatuj | Typ danych | Przykład |
---|---|---|---|
SinkCreatedOn i SinkModifiedOn | M/d/rrrr H:mm:ss tt | datetime | 6/28/2021 4:34:35 PM |
CreatedOn | rrrr-MM-dd'T'HH:mm:ss.sssssssXXX | datetimeOffset | 2018-05-25T16:21:09.0000000+00:00 |
Wszystkie inne kolumny | rrrr-MM-dd'T'HH:mm:ss'Z' | datetime | 2021-06-25T16:21:12Z |
Uwaga
Typ danych CreatedOn został zmieniony z datetime
na datetimeOffset
29.07.2022. Aby edytować format typu danych tabeli utworzonej przed zmianą, upuść i przeczytaj tabelę.
Użytkownik może wybrać inne zachowania kolumn dla kolumny Data i godzina w Dataverse, w której aktualizuje format typu danych. Więcej informacji: Zachowanie i format kolumny Data i godzina
Dlaczego w niektórych tabelach Dataverse widzę nazwy plików 1.csv lub 1_001.csv zamiast zwykłych nazw plików partycjonowanych datą i czasem?
Takie zachowanie jest oczekiwane w przypadku wybrania trybu eksportu tylko załączników i posiadania tabel bez prawidłowej kolumny CreatedOn. Bloby są zorganizowane w pliki takie jak 1.csv, 2.csv (wykorzystujące niestandardowe partycjonowanie z powodu braku ważnej daty utworzenia). Gdy dowolna partycja zbliża się do 95% MaxBlockPerBlobLimit, system automatycznie generuje nowy plik - tutaj zilustrowany jako 1_001.csv.
Kiedy należy użyć strategii partycji rocznie lub miesięcznej?
W przypadku tabel Dataverse, w których wielkość danych jest duża w ciągu roku, zaleca się użycie partycji miesięcznych. W wyniku tego będą mniejsze pliki i lepsza wydajność. Ponadto jeśli wiersze w tabelach Dataverse są często aktualizowane, podział na wiele mniejszych plików pomaga zwiększyć wydajność w przypadku scenariuszy aktualizacji w miejscu. Delta Lake jest dostępne tylko z partycjami rocznie ze względu na doskonałą wydajność w porównaniu z formatem CSV.
Czym jest tryb tylko dołączania i jaka jest różnica między trybem dołączania a trybem aktualizacji na miejscu?
W trybie tylko dołączania, rosnące dane z tabel Dataverse są dołączane do odpowiedniej partycji pliku w bazie lake. Więcej informacji: Zaawansowana konfiguracja opcji w Azure Synapse Link
W jaki sposób używać trybu tylko dodawanie, aby uzyskać historię zmian?
Tryb Tylko dodawanie tylko jest zalecaną opcją zapisu danych w tabeli Dataverse w data lake, zwłaszcza gdy ilość danych jest duża w przypadku partycji, która często zmienia dane. Jest to często używana i zalecana opcja dla klientów korporacyjnych. Ponadto można korzystać z tego trybu w sytuacjach, gdy zamiarem jest przejrzenie zmian i przetwarzanie zmian z Dataverse i wprowadzanie zmian w scenariuszach ETL, AI i ML. Tryb dołączania zawiera tylko historię zmian, a nie najnowsze zmiany czy aktualizacje w miejscu, i umożliwi oglądanie serii okresów ze scenariuszy opartych na wartościach AI, takich jak tworzenie przewidywanie lub prognozowanie na podstawie wartości historycznych.
Jak pobrać najbardziej aktualny wiersz z każdego rekordu i wykluczyć usunięte wiersze podczas eksportowania danych w trybie tylko dołączania?
W trybie dołączania tylko należy zidentyfikować najnowszą wersję rekordu z tym samym identyfikatorem za pomocą VersionNumber
i SinkModifiedOn
, a następnie zastosować isDeleted=0
w najnowszej wersji.
Dlaczego podczas eksportowania danych w trybie tylko dołączania są widzę zduplikowane numery wersji?
W przypadku trybu „tylko dołączanie”, jeśli Azure Synapse Link for Dataverse nie otrzyma potwierdzenia od Azure Data Lake, że dane zostały zatwierdzone z jakiegokolwiek powodu, takiego jak opóźnienia w sieci, Azure Synapse Link spróbuje ponownie w tych scenariuszy i ponownie zatwierdzi dane. Należy przefiltrować ten scenariusz, filtrując przy użyciu danych SinkModifiedOn
.
Dlaczego widzę różnice w kolumnach Sinkmodifiedon i Modifiedon?
Jest to oczekiwane. Modifiedon
to data i/lub data zmiany rekordu Dataverse; Sinkmodifiedon
to data i godzina modyfikacji rekordu w danych.
Które tabele Dataverse nie są obsługiwane w przypadku eksportu?
Poza poniższymi tabelami systemowymi nie jest obsługiwana żadna tabela, która nie ma włączonego śledzenia:
- Załącznik
- Kalendarz
- Calendarrule
Uwaga
Możesz dodać tabelę kontroli do eksportu za pomocą Azure Synapse Link for Dataverse. Jednak eksport tabeli audytu jest obsługiwany tylko w profilach Delta Lake.
Używam funkcji eksportu do delta lake, czy mogę zatrzymać zadanie Apache Spark lub zmienić czas wykonania?
Zadanie konwersji Delta Lake jest uruchamiane w przypadku zmiany danych w skonfigurowanym przedziale czasu. Nie ma opcji zatrzymania lub wstrzymania puli Apache Spark. Interwał czasowy po utworzeniu linku można jednak zmodyfikować w sekcji Zarządzaj tabelami > Zaawansowany interwał czasowy.
Czy Azure Synapse Link obsługuje kolumny wyszukiwania?
Kolumny odnośników składają się z identyfikatora i wartości. Wartości odnośników zmieniają się tylko w tabeli głównej. Aby lepiej odzwierciedlić wartość kolumny odnośnika, zalecamy połączenie z oryginalną tabelą główną w celu uzyskania najnowszej wartości.
Czy Azure Synapse Link obsługuje obliczone kolumny?
W Dataverse kolumny wyliczane przechowują tylko informacje o formule, a rzeczywista wartość zależy od kolumny tabeli bazowej. Tak więc kolumny obliczane są obsługiwane tylko wtedy, gdy wszystkie kolumny znajdują się w tej samej wyeksportowanej tabeli.
W jakich tabelach Dataverse dołączenie jest używane wyłącznie domyślnie?
Wszystkie tabele, które nie mają pola createdOn są domyślnie synchronizowane w trybie append only. Uwzględnia to tabele relacji oraz tabelę ActivityParty.
Dlaczego pojawia się komunikat o błędzie — Nie można wyświetlić zawartości katalogu na ścieżce?
- Dane Dataverse są przechowywane w połączonym kontenerze magazynu. Aby wykonywać operacje odczytu i zapytań za pośrednictwem obszaru roboczego Synapse, musisz mieć rolę „Współautor danych w usłudze Blob Storage” na połączonym koncie magazynu.
- Jeśli wybierzesz opcję eksportowania danych przy użyciu formatu Tym, który chcesz wyeksportować, plik CSV zostanie wyeksportowany po konwersji tych plików. Dane w tabelach non_partitioned są non_partitioned za pośrednictwem obszaru roboczego Syn workspace.
Dlaczego jest wyświetlany komunikat o błędzie — nie można załadować zbiorczego, ponieważ plik jest niekompletny lub nie można go odczytać (tylko plik CSV)?
Dane Dataverse mogą ciągle się zmieniać, tworząc, aktualizując i usuwając transakcje. Ten błąd jest powodowany zmianą pliku źródłowego podczas odczytywania z niego danych. W przypadku tabel z ciągłymi zmianami należy więc zmienić potok potoku, tak aby w przypadku danych migawkowych (tabel partycji) wykorzystywać je do przetwarzania. Więcej informacji: Rozwiązywanie problemów dotyczących bezserwerowej puli SQL
Jak używać usługi Azure Synapse Link do archiwizowania krytycznych danych?
Azure Synapse Link for Dataverse jest przeznaczony do celów analitycznych. Zalecamy klientom korzystanie z długoterminowego przechowywania do celów archiwizacji. Więcej informacji: Omówienie długoterminowego przechowywania danych w usłudze Dataverse
Dlaczego nie widzę żadnych zmian danych w data lake, gdy rekordy zostały usunięte w Dataverse?
W przypadku każdego bezpośredniego wywołania SQL w celu usunięcia rekordu usługa Azure Synapse Link for Dataverse nie jest wyzwalana, ponieważ usługa BPO.Delete nie jest wywoływana. Aby zapoznać się z przykładową funkcją, przejdź do Jak wyczyścić odziedziczony dostęp.