Omówienie pozyskiwania danych w usłudze Azure Data Explorer

Pozyskiwanie danych obejmuje ładowanie danych do tabeli w klastrze. Usługa Azure Data Explorer zapewnia ważność danych, konwertuje formaty zgodnie z potrzebami i wykonuje manipulacje, takie jak dopasowywanie schematu, organizacja, indeksowanie, kodowanie i kompresja. Po pozyskiwaniu dane są dostępne dla zapytań.

Usługa Azure Data Explorer oferuje jednorazowe pozyskiwanie lub tworzenie potoku ciągłego pozyskiwania przy użyciu przesyłania strumieniowego lub pozyskiwania w kolejce. Aby określić, które dane są odpowiednie dla Ciebie, zobacz Jednorazowe pozyskiwanie danych i ciągłe pozyskiwanie danych.

Uwaga

Dane są utrwalane w magazynie zgodnie z zasadami przechowywania zestawu.

Jednorazowe pozyskiwanie danych

Jednorazowe pozyskiwanie jest przydatne w przypadku transferu danych historycznych, wypełniania brakujących danych oraz początkowych etapów tworzenia prototypów i analizy danych. Takie podejście ułatwia szybką integrację danych bez konieczności ciągłego angażowania potoku.

Istnieje wiele sposobów jednorazowego pozyskiwania danych. Użyj następującego drzewa decyzyjnego, aby określić najbardziej odpowiednią opcję dla danego przypadku użycia:

Schemat blokowy na potrzeby jednorazowego podejmowania decyzji dotyczących pozyskiwania.

Aby uzyskać więcej informacji, zobacz odpowiednią dokumentację:

Wywołanie Odpowiednia dokumentacja
Zobacz formaty danych obsługiwane przez usługę Azure Data Explorer na potrzeby pozyskiwania.
Zobacz formaty plików obsługiwane w przypadku potoków Azure Data Factory.
Aby zaimportować dane z istniejącego systemu magazynu, zobacz Jak pozyskiwać dane historyczne do usługi Azure Data Explorer.
W internetowym interfejsie użytkownika usługi Azure Data Explorer możesz pobrać dane z pliku lokalnego, usługi Amazon S3 lub Azure Storage.
Aby zintegrować się z Azure Data Factory, zobacz Kopiowanie danych do usługi Azure Data Explorer przy użyciu Azure Data Factory.
Biblioteki klienta Kusto są dostępne dla języków C#, Python, Java, JavaScript, TypeScript i Go. Możesz napisać kod, aby manipulować danymi, a następnie użyć biblioteki pozyskiwania Kusto do pozyskiwania danych do tabeli azure Data Explorer. Dane muszą znajdować się w jednym z obsługiwanych formatów przed pozyskiwaniem.

Ciągłe pozyskiwanie danych

Ciągłe pozyskiwanie wyróżnia się w sytuacjach wymagających natychmiastowego wglądu w dane na żywo. Na przykład ciągłe pozyskiwanie jest przydatne w przypadku systemów monitorowania, dzienników i danych zdarzeń oraz analizy w czasie rzeczywistym.

Ciągłe pozyskiwanie danych obejmuje skonfigurowanie potoku pozyskiwania przy użyciu przesyłania strumieniowego lub pozyskiwania w kolejce:

  • Pozyskiwanie przesyłania strumieniowego: ta metoda zapewnia opóźnienie niemal w czasie rzeczywistym dla małych zestawów danych na tabelę. Dane są pozyskiwane w mikrosadach ze źródła przesyłania strumieniowego, początkowo umieszczane w magazynie wierszy, a następnie przesyłane do zakresów magazynu kolumn. Aby uzyskać więcej informacji, zobacz Konfigurowanie pozyskiwania przesyłania strumieniowego.

  • Pozyskiwanie w kolejce: ta metoda jest zoptymalizowana pod kątem wysokiej przepływności pozyskiwania. Dane są wsadowe oparte na właściwościach pozyskiwania, z małymi partiami, a następnie scalane i zoptymalizowane pod kątem szybkich wyników zapytań. Domyślnie maksymalne wartości w kolejce to 5 minut, 1000 elementów lub łączny rozmiar 1 GB. Limit rozmiaru danych dla polecenia pozyskiwania w kolejce wynosi 6 GB. Ta metoda używa mechanizmów ponawiania prób w celu ograniczenia przejściowych błędów i jest zgodna z semantykami komunikatów "co najmniej raz", aby upewnić się, że żadne komunikaty nie zostaną utracone w procesie. Aby uzyskać więcej informacji na temat pozyskiwania w kolejce, zobacz Zasady pozyskiwania wsadowego.

Uwaga

W przypadku większości scenariuszy zalecamy użycie pozyskiwania w kolejce, ponieważ jest to bardziej wydajna opcja.

Istnieje wiele sposobów konfigurowania ciągłego pozyskiwania danych. Użyj następującego drzewa decyzyjnego, aby określić najbardziej odpowiednią opcję dla danego przypadku użycia:

Diagram drzewa decyzyjnego na potrzeby ciągłego pozyskiwania.

Aby uzyskać więcej informacji, zobacz odpowiednią dokumentację:

Wywołanie Odpowiednia dokumentacja
Aby uzyskać listę łączników, zobacz Omówienie łączników.
Utwórz połączenie danych usługi Event Hubs. Integracja z usługą Event Hubs zapewnia usługi, takie jak ograniczanie przepustowości, ponawianie prób, monitorowanie i alerty.
Pozyskiwanie danych z platformy Apache Kafka, rozproszonej platformy przesyłania strumieniowego do tworzenia potoków danych przesyłanych strumieniowo w czasie rzeczywistym.
Utwórz połączenie danych IoT Hub. Integracja z usługą IoT Hubs zapewnia usługi, takie jak ograniczanie przepustowości, ponawianie prób, monitorowanie i alerty.
Utwórz połączenie danych usługi Event Grid. Integracja z usługą Event Grid zapewnia usługi, takie jak ograniczanie przepustowości, ponawianie prób, monitorowanie i alerty.
Zapoznaj się ze wskazówkami dotyczącymi odpowiedniego łącznika, takiego jak Apache Spark, Apache Kafka, Azure Cosmos DB, Fluent Bit, Logstash, Open Telemetry, Power Automate, Splunk i nie tylko. Aby uzyskać więcej informacji, zobacz Omówienie łączników.
Biblioteki klienta Kusto są dostępne dla języków C#, Python, Java, JavaScript, TypeScript i Go. Możesz napisać kod, aby manipulować danymi, a następnie użyć biblioteki pozyskiwania Kusto do pozyskiwania danych do tabeli azure Data Explorer. Dane muszą znajdować się w jednym z obsługiwanych formatów przed pozyskiwaniem.

Uwaga

Pozyskiwanie przesyłania strumieniowego nie jest obsługiwane dla wszystkich metod pozyskiwania. Aby uzyskać szczegółowe informacje o pomocy technicznej, zapoznaj się z dokumentacją dla określonej metody pozyskiwania.

Bezpośrednie pozyskiwanie za pomocą poleceń zarządzania

Usługa Azure Data Explorer oferuje następujące polecenia zarządzania pozyskiwaniem danych, które pozyskiwają dane bezpośrednio do klastra, zamiast korzystać z usługi zarządzania danymi. Powinny one być używane tylko do eksploracji i tworzenia prototypów, a nie w scenariuszach produkcyjnych lub dużych ilości.

  • Pozyskiwanie śródliniowe: polecenie pozyskiwania w tekście zawiera dane, które mają być częścią samego tekstu polecenia. Ta metoda jest przeznaczona do improwizowanych celów testowych.
  • Pozyskiwanie z zapytania: polecenie .set, .append, .set-or-append lub .set-or-replace pośrednio określa dane do pozyskiwania jako wyniki zapytania lub polecenia.
  • Pozyskiwanie z magazynu: pozyskiwanie do polecenia pobiera dane do pozyskiwania z magazynu zewnętrznego, takiego jak Azure Blob Storage, dostępne dla klastra i wskazywane przez polecenie .

Porównanie metod pozyskiwania

Poniższa tabela porównuje główne metody pozyskiwania:

Nazwa pozyskiwania Typ danych Maksymalna wielkość pliku Przesyłanie strumieniowe, kolejkowane, bezpośrednie Najbardziej typowe scenariusze Zagadnienia do rozważenia
Łącznik platformy Apache Spark Każdy format obsługiwany przez środowisko Platformy Spark Nieograniczona liczba W kolejce Istniejący potok, przetwarzanie wstępne na platformie Spark przed pozyskiwaniem, szybki sposób tworzenia bezpiecznego potoku przesyłania strumieniowego (Spark) z różnych źródeł, które obsługuje środowisko Spark. Rozważ koszt klastra Spark. W przypadku zapisu wsadowego porównaj się z połączeniem danych usługi Azure Data Explorer dla usługi Event Grid. W przypadku przesyłania strumieniowego platformy Spark porównaj je z połączeniem danych dla centrum zdarzeń.
Azure Data Factory (ADF) Obsługiwane formaty danych Nieograniczony. Dziedziczy ograniczenia usługi ADF. W kolejce lub na wyzwalacz usługi ADF Obsługuje nieobsługiwane formaty, takie jak program Excel i XML, i mogą kopiować duże pliki z ponad 90 źródeł z zasobów na perm do chmury Ta metoda zajmuje stosunkowo więcej czasu do momentu pozyskiwania danych. Usługa ADF przekazuje wszystkie dane do pamięci, a następnie rozpoczyna pozyskiwanie.
Event Grid Obsługiwane formaty danych Nieskompresowane 1 GB W kolejce Ciągłe pozyskiwanie danych z usługi Azure Storage, danych zewnętrznych w usłudze Azure Storage Pozyskiwanie może być wyzwalane przez akcje zmiany nazw obiektów blob lub tworzenia obiektów blob
Centrum zdarzeń Obsługiwane formaty danych Nie dotyczy W kolejce, przesyłanie strumieniowe Komunikaty, zdarzenia
Uzyskiwanie środowiska danych *SV, JSON Nieskompresowane 1 GB Pozyskiwanie w kolejce lub bezpośrednie Jednorazowe tworzenie schematu tabeli, definicja ciągłego pozyskiwania za pomocą usługi Event Grid, zbiorcze pozyskiwanie kontenera (do 5000 obiektów blob; brak limitu w przypadku pozyskiwania historycznego)
IoT Hub Obsługiwane formaty danych Nie dotyczy W kolejce, przesyłanie strumieniowe Komunikaty IoT, zdarzenia IoT, właściwości IoT
Łącznik platformy Kafka Avro, ApacheAvro, JSON, CSV, Parquet i ORC Nieograniczony. Dziedziczy ograniczenia języka Java. W kolejce, przesyłanie strumieniowe Istniejący potok, duże użycie woluminu ze źródła. Preferencje można określić przy użyciu wielu producentów lub usług konsumenckich lub żądanego poziomu zarządzania usługami.
Biblioteki klienta Usługi Kusto Obsługiwane formaty danych Nieskompresowane 1 GB W kolejce, przesyłanie strumieniowe, bezpośrednie Pisanie własnego kodu zgodnie z potrzebami organizacji Pozyskiwanie programowe jest zoptymalizowane pod kątem zmniejszenia kosztów pozyskiwania (COG), minimalizując transakcje magazynu podczas procesu pozyskiwania i postępując zgodnie z tym procesem.
LightIngest Obsługiwane formaty danych Nieskompresowane 1 GB Pozyskiwanie w kolejce lub bezpośrednie Migracja danych, dane historyczne z dostosowanymi znacznikami czasu pozyskiwania, pozyskiwanie zbiorcze Uwzględniana wielkość liter i rozróżniana jest spacja
Logic Apps Obsługiwane formaty danych Nieskompresowane 1 GB W kolejce Służy do automatyzowania potoków
Logstash JSON Nieograniczony. Dziedziczy ograniczenia języka Java. W kolejce Istniejący potok, użyj dojrzałego, open source charakteru usługi Logstash, aby uzyskać duże zużycie danych wejściowych. Preferencje można określić przy użyciu wielu producentów lub usług konsumenckich lub żądanego poziomu zarządzania usługami.
Power Automate Obsługiwane formaty danych Nieskompresowane 1 GB W kolejce Polecenia pozyskiwania w ramach przepływu. Służy do automatyzowania potoków.

Aby uzyskać informacje na temat innych łączników, zobacz Omówienie łączników.

Uprawnienia

Na poniższej liście opisano uprawnienia wymagane w różnych scenariuszach pozyskiwania:

  • Aby utworzyć nową tabelę, wymagane są co najmniej uprawnienia użytkownika bazy danych.
  • Aby pozyskać dane do istniejącej tabeli, bez zmiany jego schematu, wymaga co najmniej uprawnień usługi Database Ingestor.
  • Aby zmienić schemat istniejącej tabeli, wymagane jest co najmniej uprawnienia Administracja tabel lub database Administracja.

Aby uzyskać więcej informacji, zobacz Kusto role-based access control (Kontrola dostępu oparta na rolach w usłudze Kusto).

Proces pozyskiwania

W poniższych krokach opisano ogólny proces pozyskiwania:

  1. Ustaw zasady dzielenia na partie (opcjonalnie): dane są wsadowe na podstawie zasad dzielenia na partie pozyskiwania. Aby uzyskać wskazówki, zobacz Optymalizowanie pod kątem przepływności.

  2. Ustaw zasady przechowywania (opcjonalnie):jeśli zasady przechowywania bazy danych nie są odpowiednie dla Twoich potrzeb, przesłoń je na poziomie tabeli. Aby uzyskać więcej informacji, zobacz Zasady przechowywania.

  3. Utwórz tabelę: jeśli używasz środowiska Pobieranie danych, możesz utworzyć tabelę w ramach przepływu pozyskiwania. W przeciwnym razie utwórz tabelę przed pozyskaniem w internetowym interfejsie użytkownika usługi Azure Data Explorer lub za pomocą polecenia .create table.

  4. Tworzenie mapowania schematu: Mapowania schematów pomagają powiązać pola danych źródłowych z kolumnami tabeli docelowej. Obsługiwane są różne typy mapowań, w tym formaty zorientowane na wiersze, takie jak CSV, JSON i AVRO, oraz formaty zorientowane na kolumny, takie jak Parquet. W większości metod mapowania można również wstępnie utworzyć w tabeli.

  5. Ustaw zasady aktualizacji (opcjonalnie):Niektóre formaty danych, takie jak Parquet, JSON i Avro, umożliwiają proste przekształcenia czasu pozyskiwania. Aby uzyskać bardziej skomplikowane przetwarzanie podczas pozyskiwania, użyj zasad aktualizacji. Te zasady automatycznie wykonują wyodrębniania i przekształcenia pozyskanych danych w oryginalnej tabeli, a następnie pozyskuje zmodyfikowane dane w co najmniej jednej tabeli docelowej.

  6. Pozyskiwanie danych: użyj preferowanego narzędzia pozyskiwania, łącznika lub metody, aby wprowadzić dane.