Konfigurowanie pozyskiwania przesyłania strumieniowego w puli Azure Synapse Data Explorer (wersja zapoznawcza)
Pozyskiwanie przesyłania strumieniowego jest przydatne do ładowania danych, gdy potrzebujesz małego opóźnienia między pozyskiwaniem i wykonywaniem zapytań. Rozważ użycie pozyskiwania przesyłania strumieniowego w następujących scenariuszach:
- Wymagane jest opóźnienie mniejsze niż sekundę.
- Aby zoptymalizować przetwarzanie operacyjne wielu tabel, w których strumień danych do każdej tabeli jest stosunkowo mały (kilka rekordów na sekundę), ale ogólny wolumin pozyskiwania danych jest wysoki (tysiące rekordów na sekundę).
Jeśli strumień danych do każdej tabeli jest wysoki (ponad 4 GB na godzinę), rozważ użycie pozyskiwania wsadowego.
Aby dowiedzieć się więcej o różnych metodach pozyskiwania danych, zobacz Omówienie pozyskiwania danych.
Wybierz odpowiedni typ pozyskiwania przesyłania strumieniowego
Obsługiwane są dwa typy pozyskiwania przesyłania strumieniowego:
Typ pozyskiwania | Opis |
---|---|
Centrum zdarzeń lub IoT Hub | Koncentratory są konfigurowane jako źródła danych przesyłania strumieniowego tabel. Aby uzyskać informacje na temat konfigurowania tych ustawień, zobacz Centrum zdarzeń. |
Niestandardowe pozyskiwanie | Niestandardowe pozyskiwanie wymaga zapisania aplikacji korzystającej z jednej z bibliotek klienta Azure Synapse Data Explorer. Skorzystaj z informacji w tym temacie, aby skonfigurować niestandardowe pozyskiwanie. Przykładowa aplikacja pozyskiwania przesyłania strumieniowego w języku C# może być również przydatna. |
Poniższa tabela ułatwia wybór typu pozyskiwania, który jest odpowiedni dla danego środowiska:
Kryterium | Centrum zdarzeń / IoT Hub | Niestandardowe pozyskiwanie |
---|---|---|
Opóźnienie danych między inicjowaniem pozyskiwania a danymi dostępnymi dla zapytania | Dłuższe opóźnienie | Krótsze opóźnienie |
Nakład pracy nad programowaniem | Szybka i łatwa konfiguracja, bez obciążeń programistycznych | Wysokie obciążenie programistyczne w celu utworzenia aplikacji pozyskiwania danych, obsługi błędów i zapewnienia spójności danych |
Uwaga
Pozyskiwanie danych z centrum zdarzeń do pul Data Explorer nie będzie działać, jeśli obszar roboczy usługi Synapse używa zarządzanej sieci wirtualnej z włączoną ochroną eksfiltracji danych.
Wymagania wstępne
Subskrypcja platformy Azure. Utwórz bezpłatne konto platformy Azure.
Tworzenie puli Data Explorer przy użyciu Synapse Studio lub Azure Portal
Utwórz bazę danych Data Explorer.
W Synapse Studio w okienku po lewej stronie wybierz pozycję Dane.
Wybierz + pozycję (Dodaj nowy zasób) >Data Explorer puli i użyj następujących informacji:
Ustawienie Sugerowana wartość Opis Nazwa puli contosodataexplorer Nazwa puli Data Explorer do użycia Nazwa TestDatabase Nazwa bazy danych musi być unikatowa w obrębie klastra. Domyślny okres przechowywania 365 Przedział czasu (w dniach), w którym gwarantowana jest dostępność danych dla zapytania. Przedział czasu jest mierzony od momentu pozyskania danych. Domyślny okres pamięci podręcznej 31 Przedział czasu (w dniach), w którym często używane w zapytaniach dane mają być dostępne na dysku SSD lub w pamięci RAM zamiast w magazynie długoterminowym. Wybierz pozycję Utwórz, aby utworzyć bazę danych. Tworzenie zazwyczaj zajmuje mniej niż minutę.
- Pobierz punkty końcowe pozyskiwania zapytań i danych.
W Synapse Studio w okienku po lewej stronie wybierz pozycję Zarządzaj>Data Explorer pule.
Wybierz pulę Data Explorer, której chcesz użyć, aby wyświetlić jego szczegóły.
Zanotuj punkty końcowe pozyskiwania zapytań i danych. Użyj punktu końcowego zapytania jako klastra podczas konfigurowania połączeń z pulą Data Explorer. Podczas konfigurowania zestawów SDK na potrzeby pozyskiwania danych użyj punktu końcowego pozyskiwania danych.
Zagadnienia dotyczące wydajności i działania
Głównymi współautorami, którzy mogą mieć wpływ na pozyskiwanie przesyłania strumieniowego, są:
- Specyfikacja obliczeniowa: wydajność pozyskiwania przesyłania strumieniowego i skalowanie pojemności dzięki zwiększonym rozmiarom puli Data Explorer. Liczba współbieżnych żądań pozyskiwania jest ograniczona do sześciu na rdzeń. Na przykład w przypadku 16-rdzeniowego typu obciążenia, takiego jak Zoptymalizowane pod kątem obliczeń (duże) i Zoptymalizowane pod kątem magazynu (duże), maksymalne obsługiwane obciążenie wynosi 96 współbieżnych żądań pozyskiwania. W przypadku dwóch podstawowych typów obciążeń, takich jak Compute Optimized (Extra Small), maksymalne obsługiwane obciążenie to 12 współbieżnych żądań pozyskiwania.
- Limit rozmiaru danych: limit rozmiaru danych dla żądania pozyskiwania przesyłania strumieniowego wynosi 4 MB.
- Aktualizacje schematu: aktualizacje schematu, takie jak tworzenie i modyfikowanie tabel i mapowań pozyskiwania, może potrwać do pięciu minut w przypadku usługi pozyskiwania przesyłania strumieniowego. Aby uzyskać więcej informacji, zobacz Przesyłanie strumieniowe pozyskiwania i zmiany schematu.
- Pojemność ssd: włączenie pozyskiwania przesyłania strumieniowego w puli Data Explorer, nawet jeśli dane nie są pozyskiwane za pośrednictwem przesyłania strumieniowego, używa części lokalnego dysku SSD maszyn puli Data Explorer do przesyłania strumieniowego danych pozyskiwania i zmniejsza ilość miejsca dostępnego dla gorącej pamięci podręcznej.
Włączanie pozyskiwania przesyłania strumieniowego w puli Data Explorer
Aby można było korzystać z pozyskiwania przesyłania strumieniowego, należy włączyć funkcję w puli Data Explorer i zdefiniować zasady pozyskiwania przesyłania strumieniowego. Możliwość można włączyć podczas tworzenia puli Data Explorer lub dodać ją do istniejącej puli Data Explorer.
Ostrzeżenie
Zapoznaj się z ograniczeniami przed włączeniem pozyskiwania przesyłania strumieniowego.
Włączanie pozyskiwania przesyłania strumieniowego podczas tworzenia nowej puli Data Explorer
Pozyskiwanie przesyłania strumieniowego można włączyć podczas tworzenia nowej puli Data Explorer przy użyciu programu Azure Synapse Studio lub Azure Portal.
Podczas tworzenia puli Data Explorer, wykonując kroki opisane w temacie Tworzenie puli Data Explorer przy użyciu Synapse Studio, na karcie Dodatkowe ustawienia wybierz pozycjęWłączone pozyskiwanie >przesyłania strumieniowego.
Włączanie pozyskiwania przesyłania strumieniowego w istniejącej puli Data Explorer
Jeśli masz istniejącą pulę Data Explorer, możesz włączyć pozyskiwanie przesyłania strumieniowego przy użyciu Azure Portal.
- W Azure Portal przejdź do puli Data Explorer.
- W obszarze Ustawienia wybierz pozycję Konfiguracje.
- W okienku Konfiguracje wybierz pozycję Włączone , aby włączyć pozyskiwanie przesyłania strumieniowego.
- Wybierz pozycję Zapisz.
Tworzenie tabeli docelowej i definiowanie zasad
Utwórz tabelę, aby odbierać dane pozyskiwania przesyłania strumieniowego i definiować powiązane zasady przy użyciu programu Azure Synapse Studio lub Azure Portal.
W Synapse Studio w okienku po lewej stronie wybierz pozycję Programowanie.
W obszarze Skrypty KQL wybierz + (Dodaj nowy zasób) >skrypt KQL. W okienku po prawej stronie możesz nazwać skrypt.
W menu Połącz z wybierz pozycję contosodataexplorer.
W menu Użyj bazy danych wybierz pozycję TestDatabase.
Wklej następujące polecenie i wybierz pozycję Uruchom , aby utworzyć tabelę.
.create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)
Skopiuj jedno z następujących poleceń do okienka Zapytanie i wybierz pozycję Uruchom. Definiuje zasady pozyskiwania danych przesyłanych strumieniowo w tabeli utworzonej lub w bazie danych zawierającej tabelę.
Porada
Zasady zdefiniowane na poziomie bazy danych mają zastosowanie do wszystkich istniejących i przyszłych tabel w bazie danych.
Aby zdefiniować zasady w utworzonej tabeli, użyj:
.alter table TestTable policy streamingingestion enable
Aby zdefiniować zasady w bazie danych zawierającej utworzoną tabelę, użyj:
.alter database StreamingTestDb policy streamingingestion enable
Tworzenie aplikacji pozyskiwania strumieniowego w celu pozyskiwania danych do puli Data Explorer
Utwórz aplikację na potrzeby pozyskiwania danych do puli Data Explorer przy użyciu preferowanego języka. Dla zmiennej poolPath użyj punktu końcowego zapytania zanotowego w sekcji Wymagania wstępne.
using Kusto.Data;
using Kusto.Ingest;
using System.IO;
using Kusto.Data.Common;
namespace StreamingIngestion
{
class Program
{
static void Main(string[] args)
{
string poolPath = "https://<Poolname>.<WorkspaceName>.kusto.windows.net";
string appId = "<appId>";
string appKey = "<appKey>";
string appTenant = "<appTenant>";
string dbName = "<dbName>";
string tableName = "<tableName>";
// Create Kusto connection string with App Authentication
var csb =
new KustoConnectionStringBuilder(poolPath)
.WithAadApplicationKeyAuthentication(
applicationClientId: appId,
applicationKey: appKey,
authority: appTenant
);
// Create a disposable client that will execute the ingestion
using (IKustoIngestClient client = KustoIngestFactory.CreateStreamingIngestClient(csb))
{
// Initialize client properties
var ingestionProperties =
new KustoIngestionProperties(
databaseName: dbName,
tableName: tableName
);
// Ingest from a compressed file
var fileStream = File.Open("MyFile.gz", FileMode.Open);
// Create source options
var sourceOptions = new StreamSourceOptions()
{
CompressionType = DataSourceCompressionType.GZip,
};
// Ingest from stream
var status = client.IngestFromStreamAsync(fileStream, ingestionProperties, sourceOptions).GetAwaiter().GetResult();
}
}
}
}
Wyłączanie pozyskiwania danych przesyłanych strumieniowo w puli Data Explorer
Ostrzeżenie
Wyłączenie pozyskiwania danych przesyłanych strumieniowo może potrwać kilka godzin.
Przed wyłączeniem pozyskiwania danych przesyłanych strumieniowo w puli Data Explorer usuń zasady pozyskiwania przesyłania strumieniowego ze wszystkich odpowiednich tabel i baz danych. Usunięcie zasad pozyskiwania przesyłania strumieniowego powoduje ponowne rozmieszczenie danych w puli Data Explorer. Dane pozyskiwania danych przesyłanych strumieniowo są przenoszone z początkowego magazynu do magazynu trwałego w magazynie kolumn (zakresy lub fragmenty). Ten proces może potrwać od kilku sekund do kilku godzin, w zależności od ilości danych w początkowym magazynie.
Usuwanie zasad pozyskiwania przesyłania strumieniowego
Zasady pozyskiwania przesyłania strumieniowego można usunąć przy użyciu programu Azure Synapse Studio lub Azure Portal.
W Synapse Studio w okienku po lewej stronie wybierz pozycję Opracuj.
W obszarze Skrypty KQL wybierz + skrypt KQL (Dodaj nowy zasób). > W okienku po prawej stronie możesz nazwać skrypt.
W menu Połącz z wybierz pozycję contosodataexplorer.
W menu Użyj bazy danych wybierz pozycję TestDatabase.
Wklej następujące polecenie i wybierz pozycję Uruchom , aby utworzyć tabelę.
.delete table TestTable policy streamingingestion
W Azure Portal przejdź do puli Data Explorer.
W obszarze Ustawienia wybierz pozycję Konfiguracje.
W okienku Konfiguracje wybierz pozycję Włączone , aby włączyć pozyskiwanie danych przesyłanych strumieniowo.
Wybierz pozycję Zapisz.
Ograniczenia
- Kursory bazy danych nie są obsługiwane dla bazy danych, jeśli sama baza danych lub którakolwiek z jej tabel mają zdefiniowane i włączone zasady pozyskiwania przesyłania strumieniowego .
- Mapowania danych muszą być wstępnie utworzone do użycia w pozyskiwaniu danych przesyłanych strumieniowo. Pojedyncze żądania pozyskiwania danych przesyłanych strumieniowo nie są uwzględniane w wbudowanych mapowaniach danych.
- Nie można ustawić tagów zakresu na danych pozyskiwania strumieniowego.
- Zaktualizuj zasady. Zasady aktualizacji mogą odwoływać się tylko do nowo pozyskanych danych w tabeli źródłowej, a nie do żadnych innych danych lub tabel w bazie danych.
- Jeśli pozyskiwanie strumieniowe jest używane w żadnej z tabel bazy danych, tej bazy danych nie można użyć jako lidera dla baz danych obserwowanych ani jako dostawcy danych dla Azure Synapse Analytics Data Share.