Zaawansowane opcje konfiguracji w Azure Synapse Link

Azure Synapse Link oferuje wiele możliwości zapisu i odczytu danych w celu dopasowania do różnych scenariuszy analitycznych.

Uwaga

Azure Synapse Link for Dataverse, wcześniej znane jako Eksportowanie do data lake. Nazwa usługi została zmieniona w maja 2021 r. i nadal będzie eksportować dane do Azure Data Lake oraz Azure Synapse Analytics.

Ten artykuł dotyczy:

  1. Aktualizacje na miejscu vs. zapisywanie dodatkowe.
  2. Partycjonowanie danych określone przez użytkownika.

Aktualizacje na miejscu vs. zapisywanie dodatkowe

Podczas zapisywania danych tabeli Dataverse w Azure data lake, w oparciu o wartość createdOn, która to jest datą i czasem utworzenia rekordu, istnieją dwie możliwości ustawień. Te opcje to Aktualizacja zamiast oraz Tylko dodanie.

Ustawieniem domyślnym (w przypadku tabel, w których wartość createdOn jest dostępna) jest wprowadzenie aktualizacji lub upsert (update/insert) danych przyrostowych w miejscu docelowym. Jeśli zmiana jest nowa i odpowiedni wiersz nie istnieje w jeziorze, w przypadku tworzenia pliki docelowe są skanowane, a zmiany są wstawiane do odpowiedniej partycji plików w jeziorze. Jeśli zmiana zostanie zaktualizowana i w pliku dziennika istnieje wiersz, odpowiedni plik w data lake zostanie zaktualizowany, a nie wstawiony, wraz z danymi przyrostowymi. Innymi słowy, domyślnym ustawieniem wszystkich zmian CUD (tworzenie, aktualizowanie, usuwanie) w tabelach Dataverse, gdy jest dostępna wartość createdOn, jest zaktualizowanie danych docelowych w danych Azure data lake.

Domyślne zachowanie aktualizacji można zmienić, korzystając z opcjonalnego ustawienia o nazwie Tylko dodanie. W trybie Tylko dodanie, w przeciwieństwie do zachowania w Aktualizacja zamiast, dane z tabel Dataverse są dołączane do odpowiednich partycji plików w systemie. Jest to ustawienie dotyczące konkretnej tabeli i dostępne jako pole wyboru w obszarze Zaawansowane > Pokaż zaawansowane ustawienia konfiguracji. W przypadku tabel Dataverse z włączoną opcją Tylko dodawanie wszystkie zmiany CUD są w sposób odpowiedni dołączane do odpowiednich plików docelowych w data lake. Po wybraniu tej opcji strategia partycji jest domyślnie wybierana jako Rok, a gdy dane są zapisywane w usłudze Data Lake, są one dzielone na partycje w ujęciu rocznym. Tylko dołączanie jest również ustawieniem domyślnym dla tabel Dataverse, które nie mają wartości createdOn.

W poniższej tabeli opisano sposób obsługi wierszy w tle zdarzeń CUD dla poszczególnych opcji zapisu danych.

Wydarzenie Aktualizacja zamiast Tylko dołączanie
Utworzenie Wiersz zostanie wstawiony do pliku partycji i jest oparty na wartości createdOn w wierszu. Wiersz jest dodawany na końcu pliku partycji i jest oparty na wartości createdOn rekordu.
Zaktualizuj Jeśli wiersz istnieje w pliku partycji, jest zastępowany lub aktualizowany zaktualizowanymi danymi. Jeśli nie istnieje, zostanie wstawiony do pliku. Wiersz, wraz ze zaktualizowaną wersją, jest dodawany na końcu pliku partycji.
Delete Jeśli wiersz istnieje w pliku partycji, jest usuwany z pliku. Wiersz, wraz ze zaktualizowaną wersją, jest dodawany na końcu pliku partycji z dopiskiem IsDelete column = True.

Uwaga

W przypadku tabel Dataverse, w których włączono opcję tylko dodawanie, usunięcie wiersza źródłowego nie powoduje usunięcia wiersza w data lake. Zamiast tego usunięty wiersz jest dołączany jako nowy wiersz w data lake a kolumna isDeleted jest ustawiona na wartość True (Prawda).

Odczyt (ALLOW_INCONSISTENT_READS) dla bezserwerowego jest włączony tylko w trybie dołączania. ALLOW_INCONSISTENT_READS oznacza, że użytkownik może odczytywać pliki, które można stale modyfikować, gdy jest uruchomione zapytanie SELECT. Wyniki będą spójne i odpowiadające odczytom migawki pliku. (Nie jest odpowiednikiem izolacji migawki bazy danych z powodu innego czasu generowania migawki).

Nie wszystkie zmiany CUD zostaną przechwycone w tylko w dołączaniu: Łącze Synapse Link przetwarza zmiany danych w grupach lub „partiach” przed opublikowaniem ich w danych data lake. W rezultacie, jeśli użytkownik w krótkim odstępie czasu wprowadzi zmiany, nie wszystkie zmiany CUD zostaną zarejestrowane w danych data lake.

Oto więcej szczegółów na temat tego, kiedy użyć którejkolwiek z opcji.

  • Aktualizacja po raz pierwszy: Ta opcja jest ustawieniem domyślnym i zalecana tylko wtedy, gdy chcesz połączyć się bezpośrednio z danymi w jeziorze i potrzebujesz bieżącego stanu (nie historii lub zmian przyrostowych). Plik zawiera pełny zestaw danych i może być wykorzystywany za pośrednictwem Power BI lub przez kopiowanie całego zestawu danych dla potoków ETL (wyodrębnianie, transfer, ładowanie).
  • Tylko dodawanie: wybierz tę opcję, jeśli nie łączysz się bezpośrednio z danymi w źródle i chcesz stopniowo skopiować dane do innego celu przy użyciu potoków ETL. Ta opcja zawiera historię zmian umożliwiających włączanie scenariuszy AI i ML.

W celu dostosowania strategii partycji danych można przełączać ustawienia Pokaż zaawansowane konfiguracje w obszarze Zaawansowane w Azure Synapse Link for Dataverse i wybrać opcje zapisu danych Azure data lake.

Pokaż konfigurację zaawansowaną.

Partycjonowanie danych

Kiedy zapisujesz dane tabel Dataverse do magazynu Azure Data Lake storage za pomocą Azure Synapse Link, tabele są partycjonowane (zamiast do pojedynczego pliku) w data lake na podstawie wartości createdOn każdego wiersza w źródle. Domyślna strategia partycji jest według miesiąca, a dane są partycjonowane w usłudze Azure Data Lake co miesiąc.

Na podstawie objętości tabeli Dataverse i rozkładu danych można podzielić dane na partycje według roku. Dzięki tej opcji, gdy dane tabeli Dataverse są zapisywane w Azure data lake, będą partycjonowane co roku na podstawie wartości createdOn każdego wiersza w źródle. W przypadku tabel bez kolumny createdOn wiersze danych są podzielone na nowy plik co 5 000 000 rekordów. Jest to ustawienie dotyczące konkretnej tabeli i dostępne jako pole wyboru w obszarze Zaawansowane > Pokaż zaawansowane ustawienia konfiguracji.

Więcej szczegółów z przykładami obsługi danych w jeziorze z roczną lub miesięczną strategią podziału:

Strategia dzielenia na partycje.

Zobacz też

Azure Synapse Link for Dataverse

Uwaga

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).