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 .ingestlub ) lub .set-or-appendkopiowania 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:

  1. Utwórz przepływ danych mapowania.
  2. Wyeksportuj dane do obiektu blob platformy Azure.
  3. 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
  • 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 ustawiono 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).

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.
  • 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, gdy współczynnik 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.
  • Istnieje tylko limit rozmiaru części zapytania, który można pominąć, określając wartość noTruncation=true.
  • Maksymalny limit czasu: jedna godzina.
  • Brak limitu rozmiaru.
  • Maksymalny limit czasu: jedna godzina.

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.
  • TestConnection weryfikuje połączenie z klastrem, a nie z bazą danych. Może to zakończyć się powodzeniem, nawet jeśli baza danych nie istnieje.
  • Uprawnienia administratora tabeli nie są wystarczające.
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.
  • Wszystkie obowiązkowe operacje działają z ingestorem tabeli.
  • Niektóre operacje opcjonalne mogą zakończyć się niepowodzeniem.
  • Tworzenie mapowania 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.
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:
  • magazyny danych źródła i ujścia.
  • Środowisko ADF Integration Runtime.
  • 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 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
  • W przypadku kopii na platformie Azure nie można zmienić maszyn wirtualnych usługi ADF i jednostek SKU maszyny.
  • W przypadku kopiowania lokalnego na platformę 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 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

  1. W 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 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.

  6. Po zakończeniu zapisywania i publikowania potoku.

Następny krok