Integrowanie usługi Azure Data Explorer z usługą Azure Data Factory
Azure Data Factory (ADF) to oparta na chmurze usługa integracji danych, która umożliwia integrację różnych magazynów danych i wykonywanie działań na danych. Usługa ADF umożliwia tworzenie opartych na danych przepływów pracy do organizowania i automatyzowania przenoszenia i przekształcania danych. Usługa Azure Data Explorer jest jednym z obsługiwanych magazynów danych w Azure Data Factory.
działania Azure Data Factory dla usługi Azure Data Explorer
Różne integracje z Azure Data Factory są dostępne dla użytkowników usługi Azure Data Explorer:
Działanie kopiowania
Azure Data Factory działanie Kopiuj służy do transferu danych między magazynami danych. Usługa Azure Data Explorer jest obsługiwana jako źródło, w którym dane są kopiowane z usługi Azure Data Explorer do dowolnego obsługiwanego magazynu danych oraz ujście, w którym dane są kopiowane z dowolnego obsługiwanego magazynu danych do usługi Azure Data Explorer. Aby uzyskać więcej informacji, zobacz kopiowanie danych do lub z usługi Azure Data Explorer przy użyciu Azure Data Factory. Aby zapoznać się ze szczegółowym przewodnikiem, zobacz ładowanie danych z Azure Data Factory do usługi Azure Data Explorer. Usługa Azure Data Explorer jest obsługiwana przez środowisko Azure IR (Integration Runtime), używane podczas kopiowania danych na platformie Azure i własnego środowiska IR, używane podczas kopiowania danych z/do magazynów danych znajdujących się lokalnie lub w sieci z kontrolą dostępu, takiej jak usługa Azure Virtual Network. Aby uzyskać więcej informacji, zobacz , którego środowiska IR użyć.
Porada
W przypadku korzystania z działania kopiowania i tworzenia połączonej usługi lub zestawu danych wybierz magazyn danych Azure Data Explorer (Kusto), a nie stary magazyn danych Kusto.
działanie Lookup
Działanie Lookup służy do wykonywania zapytań w usłudze Azure Data Explorer. Wynik zapytania zostanie zwrócony jako dane wyjściowe działania Lookup i będzie można go użyć w następnym działaniu w potoku zgodnie z opisem w dokumentacji wyszukiwania usługi ADF.
Oprócz limitu rozmiaru odpowiedzi wynoszącym 5000 wierszy i 2 MB działanie ma również limit czasu zapytania wynoszący 1 godzinę.
Działanie polecenia
Działanie Command umożliwia wykonywanie poleceń zarządzania Data Explorer platformy Azure. W przeciwieństwie do zapytań polecenia zarządzania mogą potencjalnie modyfikować dane lub metadane. Niektóre polecenia zarządzania są przeznaczone do pozyskiwania danych do usługi Azure Data Explorer przy użyciu poleceń takich jak .ingest
lub ) lub .set-or-append
kopiowania danych z usługi Azure Data Explorer do zewnętrznych magazynów danych przy użyciu poleceń takich jak .export
.
Aby zapoznać się ze szczegółowym przewodnikiem działania polecenia, zobacz uruchamianie poleceń usługi Azure Data Explorer za pomocą działania polecenia Azure Data Factory. Użycie polecenia zarządzania do kopiowania danych może czasami być szybszą i tańszą opcją niż działanie Kopiuj. Aby określić, kiedy użyć działania Command w porównaniu z działanie Kopiuj, zobacz select between Copy and Command activities when copying data (Wybieranie między działaniami kopiowania i poleceń podczas kopiowania danych).
Zbiorcze kopiowanie z szablonu bazy danych
Zbiorcze kopiowanie z bazy danych do usługi Azure Data Explorer przy użyciu szablonu Azure Data Factory jest wstępnie zdefiniowanym potokiem Azure Data Factory. Szablon służy do tworzenia wielu potoków na bazę danych lub na tabelę w celu szybszego kopiowania danych.
Przepływy danych mapowania
Azure Data Factory przepływy mapowania danych są wizualnie zaprojektowane przekształcenia danych, które umożliwiają inżynierom danych opracowywanie graficznej logiki przekształcania danych bez pisania kodu. Aby utworzyć przepływ danych i pozyskać dane do usługi Azure Data Explorer, użyj następującej metody:
- Utwórz przepływ danych mapowania.
- Wyeksportuj dane do obiektu blob platformy Azure.
- Zdefiniuj działanie kopiowaniausługi Event Grid lub ADF w celu pozyskiwania danych do usługi Azure Data Explorer.
Wybieranie między działaniami copy i Azure Data Explorer Command podczas kopiowania danych
Ta sekcja ułatwia wybranie prawidłowego działania w zakresie kopiowania danych.
Podczas kopiowania danych z lub do usługi Azure Data Explorer dostępne są dwie opcje w Azure Data Factory:
- działanie Kopiuj.
- Działanie azure Data Explorer Command, które wykonuje jedno z poleceń zarządzania, które przesyłają dane w usłudze Azure Data Explorer.
Kopiowanie danych z usługi Azure Data Explorer
Dane z usługi Azure Data Explorer można skopiować przy użyciu działania kopiowania .export
lub polecenia . Polecenie .export
wykonuje zapytanie, a następnie eksportuje wyniki zapytania.
W poniższej tabeli przedstawiono porównanie działanie Kopiuj i .export
polecenia służącego do kopiowania danych z usługi Azure Data Explorer.
Działanie kopiowania | Polecenie .export | |
---|---|---|
Opis przepływu | Usługa ADF wykonuje zapytanie w usłudze Kusto, przetwarza wynik i wysyła je do docelowego magazynu danych. (Magazyn danych ujścia > usługi Azure Data Explorer ADF>) |
Usługa ADF wysyła .export polecenie zarządzania do usługi Azure Data Explorer, która wykonuje polecenie, i wysyła dane bezpośrednio do docelowego magazynu danych. (** Magazyn danych ujścia usługi Azure Data Explorer>**) |
Obsługiwane docelowe magazyny danych | Wiele obsługiwanych magazynów danych | ADLSv2, Azure Blob, SQL Database |
Wydajność | Scentralizowane |
|
Limity serwera | Limity zapytań można rozszerzyć/wyłączyć. Domyślnie zapytania usługi ADF zawierają:
|
Domyślnie rozszerza lub wyłącza limity zapytań:
|
Porada
Jeśli miejsce docelowe kopiowania jest jednym z magazynów danych obsługiwanych przez .export
polecenie , a żadna z działanie Kopiuj funkcji nie ma kluczowego znaczenia dla Twoich potrzeb, wybierz .export
polecenie .
Kopiowanie danych do usługi Azure Data Explorer
Dane można skopiować na platformę Azure Data Explorer przy użyciu działania kopiowania lub poleceń pozyskiwania, takich jak pozyskiwanie z zapytania (.set-or-append
, .set-or-replace
, .set
, .replace)
i pozyskiwanie z magazynu (.ingest
).
W poniższej tabeli przedstawiono porównanie poleceń działanie Kopiuj i pozyskiwania danych w celu skopiowania danych do usługi Azure Data Explorer.
Działanie kopiowania | Pozyskiwanie z zapytania.set-or-append / .set-or-replace / .set / .replace |
Pozyskiwanie z magazynu.ingest |
|
---|---|---|---|
Opis przepływu | Usługa ADF pobiera dane z magazynu danych źródłowych, konwertuje je na format tabelaryczny i wykonuje wymagane zmiany mapowania schematu. Następnie usługa ADF przekazuje dane do obiektów blob platformy Azure, dzieli je na fragmenty, a następnie pobiera obiekty blob, aby pozyskać je do tabeli usługi Azure Data Explorer. (Źródłowy magazyn > danych ADF > azure blobs > Azure Data Explorer) |
Te polecenia mogą wykonywać zapytanie lub .show polecenie i pozyskiwać wyniki zapytania do tabeli (Azure Data Explorer > Azure Data Explorer). |
To polecenie pozyskuje dane do tabeli przez "ściąganie" danych z co najmniej jednego artefaktu magazynu w chmurze. |
Obsługiwane źródłowe magazyny danych | różne opcje | ADLS Gen 2, Azure Blob, SQL (przy użyciu wtyczki sql_request(), Azure Cosmos DB (przy użyciu wtyczki cosmosdb_sql_request) i dowolnego innego magazynu danych, który udostępnia interfejsy API HTTP lub Python. | System plików, Azure Blob Storage, ADLS Gen 1, ADLS Gen 2 |
Wydajność | Pozyskiwanie danych jest w kolejce i zarządzane, co zapewnia niewielkie pozyskiwanie i zapewnia wysoką dostępność, zapewniając równoważenie obciążenia, ponawianie prób i obsługę błędów. |
|
|
Limity serwera |
|
|
|
Porada
- Podczas kopiowania danych z usługi ADF do usługi Azure Data Explorer użyj
ingest from query
poleceń. - W przypadku dużych zestawów danych (>1 GB) użyj działanie Kopiuj.
Wymagane uprawnienia
W poniższej tabeli wymieniono wymagane uprawnienia do różnych kroków integracji z Azure Data Factory.
Krok | Operacja | Minimalny poziom uprawnień | Uwagi |
---|---|---|---|
Tworzenie połączonej usługi | Nawigacja w bazie danych | przeglądarka bazy danych Zalogowany użytkownik korzystający z usługi ADF powinien mieć autoryzację do odczytywania metadanych bazy danych. |
Użytkownik może ręcznie podać nazwę bazy danych. |
Testuj połączenie | monitor bazy danych lub ingestor tabeli Jednostka usługi powinna być autoryzowana do wykonywania poleceń na poziomie bazy danych lub pozyskiwania na poziomie .show tabeli. |
|
|
Tworzenie zestawu danych | Nawigacja w tabeli | monitor bazy danych Zalogowany użytkownik korzystający z usługi ADF musi mieć uprawnienia do wykonywania poleceń na poziomie .show bazy danych. |
Użytkownik może ręcznie podać nazwę tabeli. |
Tworzenie zestawu danych lub działania kopiowania | Podgląd danych | przeglądarka bazy danych Jednostka usługi musi być autoryzowana do odczytywania metadanych bazy danych. |
|
Importowanie schematu | przeglądarka bazy danych Jednostka usługi musi być autoryzowana do odczytywania metadanych bazy danych. |
Gdy usługa Azure Data Explorer jest źródłem kopii tabelarycznej do tabelarycznej, usługa ADF automatycznie importuje schemat, nawet jeśli użytkownik nie zaimportował schematu jawnie. | |
Azure Data Explorer jako ujście | Tworzenie mapowania kolumn według nazw | monitor bazy danych Jednostka usługi musi być autoryzowana do wykonywania poleceń na poziomie .show bazy danych. |
|
|
ingestor tabeli lub administrator bazy danych Jednostka usługi musi być autoryzowana do wprowadzania zmian w tabeli. |
||
Pozyskiwanie danych | ingestor tabeli lub administrator bazy danych Jednostka usługi musi być autoryzowana do wprowadzania zmian w tabeli. |
||
Azure Data Explorer jako źródło | Wykonywanie zapytania | przeglądarka bazy danych Jednostka usługi musi być autoryzowana do odczytywania metadanych bazy danych. |
|
Polecenie Kusto | Zgodnie z poziomem uprawnień każdego polecenia. |
Wydajność
Jeśli usługa Azure Data Explorer jest źródłem i używasz działania Lookup, copy lub command zawierającego zapytanie, w którym znajduje się zapytanie, zapoznaj się z najlepszymi rozwiązaniami dotyczącymi wydajności informacji o wydajności i dokumentacją usługi ADF na potrzeby działania kopiowania.
Ta sekcja dotyczy użycia działania kopiowania, w którym platforma Azure Data Explorer jest ujściem. Szacowana przepływność ujścia usługi Azure Data Explorer wynosi od 11 do 13 MB/s. Poniższa tabela zawiera szczegółowe informacje o parametrach wpływających na wydajność ujścia Data Explorer platformy Azure.
Parametr | Uwagi |
---|---|
Bliskość geograficzna składników | Umieść wszystkie składniki w tym samym regionie:
|
Liczba jednostek DIU | Jedna maszyna wirtualna dla każdego czterech jednostek DIU używanych przez usługę ADF. Zwiększenie jednostek DIU pomaga tylko wtedy, gdy źródło jest magazynem opartym na plikach z wieloma plikami. Każda maszyna wirtualna będzie przetwarzać inny plik równolegle. W związku z tym kopiowanie jednego dużego pliku ma większe opóźnienie niż kopiowanie wielu mniejszych plików. |
Ilość i jednostka SKU klastra usługi Azure Data Explorer | Duża liczba węzłów usługi Azure Data Explorer zwiększa czas przetwarzania pozyskiwania. Użycie jednostek SKU deweloperskich znacznie ograniczy wydajność |
Równoległości prostych | Aby skopiować dużą ilość danych z bazy danych, podziel dane na partycje, a następnie użyj pętli ForEach, która kopiuje każdą partycję równolegle lub użyj kopii zbiorczej z bazy danych do szablonu usługi Azure Data Explorer. Uwaga:Stopień równoległościustawień> w działanie Kopiuj nie ma znaczenia dla usługi Azure Data Explorer. |
Złożoność przetwarzania danych | Opóźnienie różni się w zależności od formatu pliku źródłowego, mapowania kolumn i kompresji. |
Maszyna wirtualna z uruchomionym środowiskiem Integration Runtime |
|
Porady i typowe pułapki
Monitorowanie postępu działania
Podczas monitorowania postępu działania właściwość Dane zapisane może być większa niż właściwość Odczyt danych , ponieważ odczyt danych jest obliczany zgodnie z rozmiarem pliku binarnego, podczas gdy dane zapisywane są obliczane zgodnie z rozmiarem w pamięci, po deserializacji i dekompresowaniu danych.
Podczas monitorowania postępu działania widać, że dane są zapisywane w ujściu usługi Azure Data Explorer. Podczas wykonywania zapytań względem tabeli azure Data Explorer widać, że dane nie dotarły. Dzieje się tak, ponieważ podczas kopiowania do usługi Azure Data Explorer istnieją dwa etapy.
- Pierwszy etap odczytuje dane źródłowe, dzieli je na fragmenty o rozmiarze 900 MB i przekazuje każdy fragment do obiektu blob platformy Azure. Pierwszy etap jest widoczny w widoku postępu działania usługi ADF.
- Drugi etap rozpoczyna się po przekazaniu wszystkich danych do obiektów blob platformy Azure. Węzły klastra pobierają obiekty blob i pobierają dane do tabeli ujścia. Dane są następnie widoczne w tabeli azure Data Explorer.
Nie można pozyskać plików CSV z powodu nieprawidłowego ucieczki
Usługa Azure Data Explorer oczekuje, że pliki CSV będą zgodne z RFC 4180. Oczekuje:
- Pola zawierające znaki wymagające ucieczki (takie jak " i nowe wiersze) powinny rozpoczynać się i kończyć znakiem " bez odstępu. Wszystkie znaki "wewnątrz pola są ucieczki przy użyciu podwójnego znaku " (""). Na przykład "Hello, "World" to prawidłowy plik CSV z pojedynczym rekordem zawierającym jedną kolumnę lub pole z zawartością Hello, "World".
- Wszystkie rekordy w pliku muszą mieć taką samą liczbę kolumn i pól.
Azure Data Factory umożliwia znak ukośnika odwrotnego (ucieczka). W przypadku wygenerowania pliku CSV z znakiem ukośnika odwrotnego przy użyciu Azure Data Factory pozyskiwanie pliku do usługi Azure Data Explorer zakończy się niepowodzeniem.
Przykład
Następujące wartości tekstowe: Hello, "World"
ABC DEF
"ABC\D"EF
"ABC DEF
Powinien być wyświetlany w odpowiednim pliku CSV w następujący sposób: "Hello, ""World""
"ABC DEF"
""ABC\D""EF"
""ABC DEF"
Przy użyciu domyślnego znaku ucieczki (ukośnik odwrotny) następujący plik CSV nie będzie działać z usługą Azure Data Explorer: "Hello, "World"
"ABC DEF"
""ABC\D"EF"
""ABC DEF"
Zagnieżdżone obiekty JSON
Podczas kopiowania pliku JSON do usługi Azure Data Explorer należy pamiętać, że:
- Tablice nie są obsługiwane.
- Jeśli struktura JSON zawiera typy danych obiektów, Azure Data Factory spłaszczy elementy podrzędne obiektu i spróbuje zamapować każdy element podrzędny na inną kolumnę w tabeli azure Data Explorer. Jeśli chcesz, aby cały element obiektu był mapowany na jedną kolumnę w usłudze Azure Data Explorer:
- Pozyskiwanie całego wiersza JSON do jednej kolumny dynamicznej w usłudze Azure Data Explorer.
- Ręcznie edytuj definicję potoku przy użyciu edytora JSON Azure Data Factory. W mapowaniach
- Usuń wiele mapowań utworzonych dla każdego elementu podrzędnego i dodaj pojedyncze mapowanie, które mapuje typ obiektu na kolumnę tabeli.
- Po zamykającym nawiasie kwadratowym dodaj przecinek, po którym następuje:
"mapComplexValuesToString": true
.
Określanie dodatkowych właściwości podczas kopiowania do usługi Azure Data Explorer
Dodatkowe właściwości pozyskiwania można dodać, określając je w działaniu kopiowania w potoku.
Aby dodać właściwości
W Azure Data Factory wybierz narzędzie ołówka Autor.
W obszarze Potok wybierz potok, w którym chcesz dodać dodatkowe właściwości pozyskiwania.
Na kanwie Działania wybierz działanie Kopiuj dane .
W szczegółach działania wybierz pozycję Ujście, a następnie rozwiń pozycję Dodatkowe właściwości.
Wybierz pozycję Nowy, wybierz pozycję Dodaj węzeł lub Dodaj tablicę zgodnie z wymaganiami, a następnie określ nazwę i wartość właściwości pozyskiwania. Powtórz ten krok, aby dodać więcej właściwości.
Po zakończeniu zapisywania i publikowania potoku.
Następny krok
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla