Udostępnij przez


Konfigurowanie ingestowania strumieniowego w puli usługi Azure Synapse Data Explorer (wersja próbna)

Ważne

Eksplorator danych usługi Azure Synapse Analytics (wersja zapoznawcza) zostanie wycofany 7 października 2025 r. Po tej dacie obciążenia uruchomione w usłudze Synapse Data Explorer zostaną usunięte, a skojarzone dane aplikacji zostaną utracone. Zdecydowanie zalecamy migrację do usługi Eventhouse w usłudze Microsoft Fabric.

Program Microsoft Cloud Migration Factory (CMF) ma na celu pomoc klientom w migracji do sieci szkieletowej. Program oferuje praktyczne zasoby klawiaturowe bez ponoszenia kosztów dla klienta. Te zasoby są przypisywane przez okres 6–8 tygodni ze wstępnie zdefiniowanym i uzgodnionym zakresem. Nominacje klientów są akceptowane przez zespół ds. kont Microsoft lub bezpośrednio, przesyłając wniosek o pomoc zespołowi CMF.

Przechwytywanie danych strumieniowych jest przydatne do ładowania danych, gdy potrzebujesz niskiego opóźnienia pomiędzy przyjmowaniem danych a ich zapytaniem. Rozważ użycie przesyłania danych strumieniowych 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 wsadowego wczytywania danych.

Aby dowiedzieć się więcej na temat różnych metod pozyskiwania danych, zobacz Omówienie pozyskiwania danych.

Wybierz odpowiedni rodzaj pobierania danych strumieniowych

Obsługiwane są dwa rodzaje przesyłania strumieniowego.

Typ pobierania Description
Centrum zdarzeń lub centrum IoT Hub Huby są konfigurowane jako źródła danych strumieniowych w tabelach.
Aby uzyskać informacje o konfigurowaniu tych ustawień, zobacz Centrum zdarzeń.
Niestandardowe przetwarzanie Niestandardowe pozyskiwanie wymaga napisania aplikacji korzystającej z jednej z bibliotek klienckich usługi Azure Synapse Data Explorer.
Korzystaj z informacji w tym temacie, aby konfigurować niestandardowe importowanie. Przykładowa aplikacja pozyskiwania przesyłania strumieniowego w języku C# może być również przydatna.

Użyj poniższej tabeli, aby ułatwić wybór typu pozyskiwania danych, który jest odpowiedni dla twojego środowiska.

Criterion Centrum zdarzeń /IoT Hub Niestandardowe importowanie
Opóźnienie danych między inicjowaniem pozyskiwania i danymi dostępnymi dla zapytania Dłuższe opóźnienie Krótsze opóźnienie
Obciążenie związane z programowaniem Szybka i łatwa konfiguracja, brak obciążeń programistycznych Duże obciążenie programistyczne w celu utworzenia aplikacji pozyskiwania danych, obsługi błędów i zapewnienia spójności danych

Uwaga / Notatka

Aportowanie danych z Event Hub do zasobników Eksploratora Danych nie będzie działać, jeśli przestrzeń robocza Synapse używa zarządzanej sieci wirtualnej z włączoną ochroną przed eksfiltracją danych.

Wymagania wstępne

  • Subskrypcja platformy Azure. Utwórz bezpłatne konto platformy Azure.

  • Utwórz pulę Eksploratora Danych, korzystając z programu Synapse Studio lub portalu Azure

  • Utwórz bazę danych eksploratora danych.

    1. W programie Synapse Studio w okienku po lewej stronie wybierz pozycję Dane.

    2. Wybierz + (Dodaj nowy zasób) >pulę Eksploratora danych i skorzystaj z poniższych informacji:

      Setting Sugerowana wartość Description
      Nazwa puli contosodataexplorer Nazwa puli Eksploratora danych, której użyć
      Name 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.
    3. Wybierz pozycję Utwórz, aby utworzyć bazę danych. Tworzenie zazwyczaj zajmuje mniej niż minutę.

  • Pobierz punkty końcowe dla zapytań i ingestii danych.
    1. W programie Synapse Studio w okienku po lewej stronie wybierz pozycję Zarządzaj pulami>eksploratora danych.

    2. Wybierz pulę Eksploratora danych, której chcesz użyć, aby wyświetlić jego szczegóły.

      Zrzut ekranu przedstawiający widok baz eksploratora danych, pokazujący listę istniejących baz.

    3. Zanotuj punkty końcowe zapytań i pozyskiwania danych. Użyj punktu końcowego zapytania jako klastra podczas konfigurowania połączeń z pulą eksploratora danych. Podczas konfigurowania zestawów SDK na potrzeby pozyskiwania danych użyj punktu końcowego pozyskiwania danych.

      Zrzut ekranu przedstawiający okienko właściwości pul eksploratora danych z adresami URI zapytań i pozyskiwania danych.

Zagadnienia dotyczące wydajności i działania

Główne czynniki, które mogą mieć wpływ na pozyskiwanie przesyłania strumieniowego, to:

  • Specyfikacja obliczeniowa: wydajność pozyskiwania przesyłania strumieniowego i skalowanie pojemności z zwiększonymi rozmiarami puli eksploratora danych. Liczba współbieżnych żądań przesyłania 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 to 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 strumieniowego przesyłania danych wynosi 4 MB.
  • Aktualizacje schematu: aktualizacje schematu, takie jak tworzenie i modyfikowanie tabel oraz mapowania danych wejściowych, mogą potrwać do pięciu minut dla usługi transmisji strumieniowej. Aby uzyskać więcej informacji, zobacz Przesyłanie strumieniowe i zmiany w schemacie.
  • Pojemność SSD: Włączenie pozyskiwania strumieniowego w puli Eksploratora Danych, nawet gdy dane nie są przetwarzane poprzez przesyłanie strumieniowe, wykorzystuje część lokalnego dysku SSD maszyn w tej puli na potrzeby danych pozyskiwania strumieniowego, co ogranicza przestrzeń dostępną dla pamięci podręcznej gorącej.

Włącz strumieniową ingestię dla puli eksploratora danych

Aby użyć pozyskiwania strumieniowego, musisz włączyć tę funkcję w swoim zasobie Eksploratora Danych i zdefiniować zasady pozyskiwania strumieniowego. Możesz włączyć tę funkcję podczas tworzenia puli Eksploratora danych lub dodać ją do istniejącej puli Eksploratora danych.

Ostrzeżenie

Zapoznaj się z ograniczeniami przed włączeniem strumieniowego przesyłania.

Włącz przesyłanie strumieniowe podczas tworzenia nowej puli Eksploratora danych

Można włączyć przesyłanie strumieniowe podczas tworzenia nowej puli Eksploratora danych przy użyciu Azure Synapse Studio lub portalu Azure.

Podczas tworzenia puli Eksploratora danych, wykonując kroki opisane w Tworzeniu puli eksploratora danych przy użyciu Synapse Studio, na karcie Dodatkowe ustawienia wybierz pozycję Ingestia strumieniowa>Włączone.

Włącz pozyskiwanie przesyłania strumieniowego podczas tworzenia puli eksploratora danych w usłudze Azure Synapse Data Explorer.

Włączanie pozyskiwania przesyłania strumieniowego w istniejącej puli eksploratora danych

Jeśli masz istniejącą pulę w Data Explorer, możesz włączyć przesyłanie strumieniowe za pomocą portalu Azure.

  1. W portalu Azure Portal przejdź do puli eksploratora danych.
  2. W obszarze Ustawienia wybierz pozycję Konfiguracje.
  3. W okienku Konfiguracje wybierz pozycję Włączone, aby włączyć strumieniowe pozyskiwanie danych.
  4. Wybierz Zapisz.

Tworzenie tabeli docelowej i definiowanie zasad

Utwórz tabelę do odbierania danych pozyskiwania przesyłania strumieniowego i zdefiniuj powiązane z nią zasady przy użyciu programu Azure Synapse Studio lub witryny Azure Portal.

  1. W programie Synapse Studio w okienku po lewej stronie wybierz pozycję Opracuj.

  2. W obszarze Skrypty KQL wybierz +(Dodaj nowy zasób) >skrypt KQL. W okienku po prawej stronie możesz nazwać skrypt.

  3. W menu Połącz z wybierz pozycję contosodataexplorer.

  4. W menu Użyj bazy danych wybierz pozycję TestDatabase.

  5. Wklej następujące polecenie i wybierz pozycję Uruchom , aby utworzyć tabelę.

    .create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)
    
  6. Skopiuj jedno z następujących poleceń do okienka Zapytanie i wybierz pozycję Uruchom. Definiuje politykę strumieniowego pozyskiwania danych w tabeli, którą utworzyłeś, lub w bazie danych zawierającej tę tabelę.

    Wskazówka

    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
      

Utwórz aplikację do strumieniowego przesyłania danych do puli Eksploratora Danych.

Utwórz aplikację do pozyskiwania danych do puli Eksploratora danych przy użyciu preferowanego języka. Dla zmiennej poolPath użyj punktu końcowego zapytania, który zanotowałeś 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łącz przesyłanie strumieniowe w Twojej puli eksploratora danych

Ostrzeżenie

Wyłączenie przesyłania strumieniowego danych może potrwać kilka godzin.

Przed wyłączeniem przesyłania strumieniowego w puli Eksploratora danych usuń politykę przesyłania strumieniowego ze wszystkich odpowiednich tabel i baz danych. Usunięcie polityki pozyskiwania danych przesyłanych strumieniowo powoduje reorganizację danych w zespole Eksploratora danych. Dane przesyłane strumieniowo są przenoszone z początkowego magazynu do trwałego magazynu danych w strukturze kolumnowej (segmenty 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.

Usuń politykę przesyłania danych strumieniowych

Politykę pozyskiwania danych strumieniowych można usunąć za pomocą Azure Synapse Studio lub Azure Portal.

  1. W programie Synapse Studio w okienku po lewej stronie wybierz pozycję Opracuj.

  2. W obszarze Skrypty KQL wybierz +(Dodaj nowy zasób) >skrypt KQL. W okienku po prawej stronie możesz nazwać skrypt.

  3. W menu Połącz z wybierz pozycję contosodataexplorer.

  4. W menu Użyj bazy danych wybierz pozycję TestDatabase.

  5. Wklej następujące polecenie i wybierz pozycję Uruchom , aby utworzyć tabelę.

    .delete table TestTable policy streamingingestion
    
  6. W portalu Azure Portal przejdź do puli eksploratora danych.

  7. W obszarze Ustawienia wybierz pozycję Konfiguracje.

  8. W okienku Konfiguracje wybierz pozycję Włączone, aby włączyć strumieniowe pozyskiwanie danych.

  9. Wybierz Zapisz.

Ograniczenia

  • Kursory bazy danych nie są obsługiwane dla bazy danych, jeśli sama baza danych lub którakolwiek z jej tabel mają zdefiniowaną i włączoną zasadę strumieniowego pozyskiwania danych.
  • Mapowania danych muszą zostać wstępnie utworzone do użycia w pozyskiwaniu danych przesyłanych strumieniowo. Pojedyncze żądania pozyskiwania danych strumieniowych nie obsługują wbudowanych mapowań danych.
  • Nie można ustawić tagów zakresu na danych wprowadzanych strumieniowo.
  • 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 strumieniowe pobieranie danych jest używane w dowolnej tabeli bazy danych, tej bazy danych nie można użyć jako bazy wiodącej dla baz danych typu 'follower' ani jako dostawcy danych dla usługi Azure Synapse Analytics Data Share.

Dalsze kroki