Udostępnij za pośrednictwem


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 pozyskaniu 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óry z nich jest odpowiedni dla Ciebie, zobacz Jednorazowe pozyskiwanie danych i Ciągłe pozyskiwanie danych.

Uwaga

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

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:

Wykres blokowy na potrzeby podejmowania jednorazowych 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 dla potoków usługi 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 Usługi Azure Storage.
Aby zintegrować się z usługą Azure Data Factory, zobacz Kopiowanie danych do usługi Azure Data Explorer przy użyciu usługi 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 usługi 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 natychmiastowych szczegółowych informacji z danych na żywo. Na przykład ciągłe pozyskiwanie jest przydatne w przypadku systemów monitorowania, danych dziennika i 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 danych przesyłanych strumieniowo: 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 całkowity 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 wyeliminowania 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 dzielenia na partie pozyskiwania.

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 usługi 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 usługi Azure Data Explorer. Dane muszą znajdować się w jednym z obsługiwanych formatów przed pozyskiwaniem.

Uwaga

Pozyskiwanie strumieniowe nie jest obsługiwane dla wszystkich metod pozyskiwania. Aby uzyskać szczegółowe informacje o pomocy technicznej, zapoznaj się z dokumentacją 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, które pozyskuje 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 wbudowane: 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: polecenia .set, .append, .set-or-append lub .set-or-replace pośrednio określają dane do pozyskiwania jako wyników zapytania lub polecenia.
  • Pozyskiwanie z magazynu: pozyskiwanie do polecenia pobiera dane do pozyskiwania z magazynu zewnętrznego, takiego jak usługa Azure Blob Storage, dostępna dla klastra i wskazywana przez polecenie .

Uwaga

W przypadku awarii pozyskiwanie jest wykonywane ponownie i jest ponawiane przez maksymalnie 48 godzin przy użyciu metody wycofywania wykładniczego na czas oczekiwania między próbami.

Porównanie metod pozyskiwania

W poniższej tabeli porównaliśmy główne metody pozyskiwania:

Nazwa pozyskiwania Typ danych Maksymalna wielkość pliku Przesyłanie strumieniowe, kolejkowane, bezpośrednie Najbardziej typowe scenariusze Kwestie wymagające rozważenia
Łącznik platformy Apache Spark Każdy format obsługiwany przez środowisko Platformy Spark Nieograniczony 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ł wsparcie środowiska Spark. Rozważ koszt klastra Spark. W przypadku zapisu wsadowego porównaj je 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. Wyzwalacz usługi ADF w kolejce lub na Obsługuje formaty, które nie są obsługiwane, takie jak excel i XML, i mogą kopiować duże pliki z ponad 90 źródeł z poszczególnych źródeł 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 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 z kontenerem (do 5000 obiektów blob; brak limitu w przypadku korzystania z 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. Preferencję można określić za pomocą istniejącego użycia wielu producentów lub usług konsumenckich lub żądanego poziomu zarządzania usługami.
Biblioteki klienckie usługi Kusto Obsługiwane formaty danych Nieskompresowane 1 GB Kolejkowane, przesyłane strumieniowo, 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 i zgodnie z procesem pozyskiwania.
Najświeższe światło Obsługiwane formaty danych Nieskompresowane 1 GB Pozyskiwanie w kolejce lub bezpośrednie Migracja danych, dane historyczne z dostosowanymi znacznikami czasu pozyskiwania, pozyskiwaniem zbiorczym 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
Usługa LogStash JSON Nieograniczony. Dziedziczy ograniczenia języka Java. W kolejce Istniejący potok, użyj dojrzałego typu open source usługi Logstash, aby uzyskać duże zużycie danych wejściowych. Preferencję można określić za pomocą istniejącego użycia 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ę, wymagana jest co najmniej uprawnienia użytkownika bazy danych.
  • Aby pozyskać dane do istniejącej tabeli, bez zmiany jego schematu, wymaga co najmniej uprawnień narzędzia Database Ingestor.
  • Aby zmienić schemat istniejącej tabeli, wymagane jest co najmniej uprawnienia administratora tabeli lub administratora bazy danych.

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, zapoznaj się z zasadami przechowywania.

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

  4. Tworzenie mapowania schematu: mapowania schematów ułatwiają powiązanie pól 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.