Udostępnij za pośrednictwem


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 przepływów pracy opartych na danych na potrzeby organizowania i automatyzowania przenoszenia danych i przekształcania danych. Usługa Azure Data Explorer jest jednym z obsługiwanych magazynów danych w usłudze Azure Data Factory.

Działania usługi Azure Data Factory dla usługi Azure Data Explorer

Różne integracje z usługą Azure Data Factory są dostępne dla użytkowników usługi Azure Data Explorer:

Działanie kopiowania

Usługa 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 i ujścia, gdzie 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 usługi Azure Data Factory. Aby zapoznać się ze szczegółowym przewodnikiem, zobacz ładowanie danych z usługi 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żywanego podczas kopiowania danych z/do magazynów danych znajdujących się lokalnie lub w sieci z kontrolą dostępu, taką jak usługa Azure Virtual Network. Aby uzyskać więcej informacji, zobacz , którego środowiska IR użyć.

Napiwek

W przypadku korzystania z działania kopiowania i tworzenia połączonej usługi lub zestawu danych wybierz magazyn danych usługi 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 może zostać użyty 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 Polecenie umożliwia wykonywanie poleceń zarządzania usługi Azure Data Explorer. 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 .ingestlub .set-or-append) lub kopiowania danych z usługi Azure Data Explorer do zewnętrznych magazynów danych przy użyciu poleceń, takich jak .export. Aby uzyskać szczegółowy przewodnik działania polecenia, zobacz używanie działania polecenia usługi Azure Data Factory do uruchamiania poleceń zarządzania usługi Azure Data Explorer. 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żywać działania Polecenia w porównaniu z działanie Kopiuj, zobacz wybieranie między działaniami kopiowania i polecenia podczas kopiowania danych.

Zbiorcze kopiowanie z szablonu bazy danych

Zbiorcze kopiowanie z bazy danych do usługi Azure Data Explorer przy użyciu szablonu usługi Azure Data Factory jest wstępnie zdefiniowanym potokiem usługi 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

Przepływy danych mapowania usługi Azure Data Factory są wizualnie zaprojektowane przekształcenia danych, które umożliwiają inżynierom danych opracowywanie graficznej logiki przekształcania danych bez konieczności pisania kodu. Aby utworzyć przepływ danych i pozyskać dane do usługi Azure Data Explorer, użyj następującej metody:

  1. Utwórz przepływ danych mapowania.
  2. Wyeksportuj dane do obiektu blob platformy Azure.
  3. Zdefiniuj działanie kopiowania usługi Event Grid lub usługi ADF w celu pozyskiwania danych do usługi Azure Data Explorer.

Wybieranie między działaniami kopiowania i polecenia usługi Azure Data Explorer podczas kopiowania danych

Ta sekcja ułatwia wybranie prawidłowego działania w zakresie potrzeb kopiowania danych.

Podczas kopiowania danych z lub do usługi Azure Data Explorer dostępne są dwie opcje w usłudze Azure Data Factory:

  • działanie Kopiuj.
  • Działanie polecenia usługi Azure Data Explorer, 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 ADF > w usłudze Azure Data Explorer>)
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ść Scentralizowany
  • Rozproszone (domyślne), eksportowanie danych z wielu węzłów jednocześnie
  • Szybciej i COGS (koszt sprzedanych towarów) wydajny.
Limity serwera Limity zapytań można rozszerzyć/wyłączyć. Domyślnie zapytania usługi ADF zawierają:
  • Limit rozmiaru wynoszący 500 000 rekordów lub 64 MB.
  • Limit czasu 10 minut.
  • noTruncation ustaw wartość false.
Domyślnie rozszerza lub wyłącza limity zapytań:
  • Limity rozmiaru są wyłączone.
  • Limit czasu serwera został przedłużony do 1 godziny.
  • MaxMemoryConsumptionPerIterator i MaxMemoryConsumptionPerQueryPerNode są rozszerzone do maksymalnej (5 GB, TotalPhysicalMemory/2).

Napiwek

Jeśli miejsce docelowe kopiowania jest jednym z magazynów danych obsługiwanych przez .export polecenie , a żadna z funkcji działanie Kopiuj nie ma kluczowego znaczenia dla Twoich potrzeb, wybierz .export polecenie .

Kopiowanie danych do usługi Azure Data Explorer

Dane można skopiować do usługi Azure Data Explorer przy użyciu działań kopiowania lub poleceń pozyskiwania, takich jak pozyskiwanie z zapytania (.set-or-append, .set-or-replace, , .replace).seti pozyskiwanie z magazynu (.ingest).

W poniższej tabeli przedstawiono porównanie działanie Kopiuj i poleceń pozyskiwania 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 w celu pozyskiwania ich do tabeli usługi Azure Data Explorer.
(Źródłowy magazyn > danych usługi ADF > obiektów blob platformy Azure w usłudze > 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 USŁUGI 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 są kolejkowane i zarządzane, co zapewnia pozyskiwanie małych rozmiarów i zapewnia wysoką dostępność, zapewniając równoważenie obciążenia, ponawianie prób i obsługę błędów.
  • Te polecenia nie zostały zaprojektowane do importowania dużych ilości danych.
  • Działa zgodnie z oczekiwaniami i tańszymi. Jednak w przypadku scenariuszy produkcyjnych i gdy współczynniki ruchu i rozmiary danych są duże, użyj działanie Kopiuj.
Limity serwera
  • Brak limitu rozmiaru.
  • Maksymalny limit czasu: jedna godzina na pozyskany obiekt blob.
  • W części zapytania istnieje tylko limit rozmiaru, który można pominąć, określając wartość noTruncation=true.
  • Maksymalny limit czasu: jedna godzina.
  • Brak limitu rozmiaru.
  • Maksymalny limit czasu: jedna godzina.

Napiwek

  • 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 usługą 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ć uprawnienia do odczytywania metadanych bazy danych.
Użytkownik może ręcznie podać nazwę bazy danych.
Testuj połączenie monitor bazy danych lub ingestor tabel
Jednostka usługi powinna być autoryzowana do wykonywania poleceń na poziomie .show bazy danych lub pozyskiwania na poziomie tabeli.
  • TestConnection weryfikuje połączenie z klastrem, a nie z bazą danych. Może ona zakończyć się powodzeniem, nawet jeśli baza danych nie istnieje.
  • Uprawnienia administratora tabeli nie są wystarczające.
Tworzenie zestawu danych Nawigacja w tabelach 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 importuje schemat automatycznie, nawet jeśli użytkownik nie zaimportował schematu jawnie.
Eksplorator danych platformy Azure 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.
  • Wszystkie obowiązkowe operacje działają z ingestorem tabeli.
  • Niektóre opcjonalne operacje mogą zakończyć się niepowodzeniem.
  • Tworzenie mapowania woluminów CSV w tabeli
  • Usuwanie mapowania
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.
Usługa 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 Wyszukiwania, kopiowania lub polecenia zawierającego zapytanie, w którym, zapoznaj się z najlepszymi rozwiązaniami dotyczącymi wydajności i dokumentacją usługi ADF na potrzeby działania kopiowania.

Ta sekcja dotyczy użycia działania kopiowania, w którym usługa Azure Data Explorer jest ujściem. Szacowana przepływność ujścia usługi Azure Data Explorer wynosi 11–13 MB/s. W poniższej tabeli szczegółowo przedstawiono parametry wpływające na wydajność ujścia usługi Azure Data Explorer.

Parametr Uwagi
Bliskość geograficzna składników Umieść wszystkie składniki w tym samym regionie:
  • magazyny danych źródła i ujścia.
  • Środowisko Integration Runtime usługi ADF.
  • Klaster usługi Azure Data Explorer.
Upewnij się, że co najmniej środowisko Integration Runtime znajduje się w tym samym regionie co klaster usługi Azure Data Explorer.
Liczba jednostek DIU Jedna maszyna wirtualna dla co cztery jednostki DIU używane 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 następnie 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 spowoduje poważne ograniczenie wydajności
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 szablonu Kopiowania zbiorczego z bazy danych do usługi Azure Data Explorer. Uwaga: Stopień równoległości ustawień>w działanie Kopiuj nie jest istotny 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
  • W przypadku kopii platformy Azure nie można zmienić maszyn wirtualnych usługi ADF i jednostek SKU maszyny.
  • W przypadku kopii lokalnej na platformie Azure określ, czy maszyna wirtualna hostująca własne środowisko IR jest wystarczająco silna.

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 zapisane dane są obliczane zgodnie z rozmiarem w pamięci, po deserializacji i dekompresowaniu danych.

  • Podczas monitorowania postępu działania można zobaczyć, że dane są zapisywane w ujściu usługi Azure Data Explorer. Podczas wykonywania zapytań względem tabeli usługi Azure Data Explorer widać, że dane nie dotarły. Jest to spowodowane tym, że 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 usługi 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ą wymykane za pomocą 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.

Usługa Azure Data Factory umożliwia znak ukośnika odwrotnego (ucieczka). Jeśli wygenerujesz plik CSV z znakiem ukośnika odwrotnego przy użyciu usługi 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 pojawić się w odpowiednim pliku CSV w następujący sposób: "Hello, ""World""
"ABC DEF"
""ABC\D""EF"
""ABC DEF"

Używając domyślnego znaku ucieczki (ukośnika odwrotnego), 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, usługa Azure Data Factory spłaszczy elementy podrzędne obiektu i spróbuje zamapować każdy element podrzędny na inną kolumnę w tabeli usługi 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 pojedynczej kolumny dynamicznej w usłudze Azure Data Explorer.
    • Ręcznie edytuj definicję potoku przy użyciu edytora JSON usługi Azure Data Factory. W mapowaniach
      • Usuń wiele mapowań utworzonych dla każdego elementu podrzędnego i dodaj pojedyncze mapowanie mapujące typ obiektu do kolumny tabeli.
      • Po nawiasie kwadratowym zamykającym dodaj przecinek, po którym następuje:
        "mapComplexValuesToString": true.

Określanie dodatkowych właściwości podczas kopiowania do usługi Azure Data Explorer

Możesz dodać dodatkowe właściwości pozyskiwania, określając je w działaniu kopiowania w potoku.

Aby dodać właściwości

  1. W usłudze Azure Data Factory wybierz narzędzie ołówka Autor .

  2. W obszarze Potok wybierz potok, w którym chcesz dodać dodatkowe właściwości pozyskiwania.

  3. Na kanwie Działania wybierz działanie Kopiuj dane.

  4. W szczegółach działania wybierz pozycję Ujście, a następnie rozwiń pozycję Dodatkowe właściwości.

  5. Wybierz pozycję Nowy, wybierz pozycję Dodaj węzeł lub Dodaj tablicę zgodnie z potrzebami, 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.

  6. Po zakończeniu zapisywania i publikowania potoku.

Następny krok