Eksplorowanie przechwytywania usługi Event Hubs

Ukończone

Usługa Azure Event Hubs umożliwia automatyczne przechwytywanie danych przesyłanych strumieniowo w usłudze Event Hubs na wybranym koncie usługi Azure Blob Storage lub Azure Data Lake Storage z dodatkową elastycznością określania interwału czasu lub rozmiaru. Konfigurowanie funkcji Przechwytywanie jest szybkie, nie ma kosztów administracyjnych do jej uruchomienia i jest skalowane automatycznie przy użyciu jednostek przepływności usługi Event Hubs w warstwie Standardowa lub jednostek przetwarzania w warstwie Premium.

Image showing capturing of Event Hubs data into Azure Storage or Azure Data Lake Storage

Funkcja przechwytywania usługi Event Hubs umożliwia przetwarzanie potoków w czasie rzeczywistym i wsadowych na tym samym strumieniu. Oznacza to, że możesz tworzyć rozwiązania, które rosną wraz z potrzebami w miarę upływu czasu.

Jak działa funkcja przechwytywania usługi Event Hubs

Event Hubs to trwały bufor przechowywania czasu dla ruchu przychodzącego danych telemetrycznych, podobny do rozproszonego dziennika. Kluczem do skalowania w usłudze Event Hubs jest model użytkownika partycjonowanego. Każda partycja jest niezależnym segmentem danych i jest zużywana niezależnie. W czasie, gdy te dane się starzeją, na podstawie konfigurowalnego okresu przechowywania. W rezultacie dane centrum zdarzeń nigdy nie jest "zbyt pełne".

Funkcja przechwytywania usługi Event Hubs umożliwia określenie własnego konta i kontenera usługi Azure Blob Storage lub konta usługi Azure Data Lake Store, które są używane do przechowywania przechwyconych danych. Te konta mogą znajdować się w tym samym regionie co centrum zdarzeń lub w innym regionie, co zwiększa elastyczność funkcji przechwytywania usługi Event Hubs.

Przechwycone dane są zapisywane w formacie Apache Avro: kompaktowy, szybki format binarny zapewniający rozbudowane struktury danych ze schematem wbudowanym. Ten format jest powszechnie używany w ekosystemie hadoop, usłudze Stream Analytics i usłudze Azure Data Factory. Więcej informacji na temat pracy z avro jest dostępne w dalszej części tego artykułu.

Przechwytywanie okien

Funkcja przechwytywania usługi Event Hubs umożliwia skonfigurowanie okna do kontrolowania przechwytywania. To okno jest minimalną konfiguracją rozmiaru i czasu z zasadami "first wins", co oznacza, że pierwszy wyzwalacz napotkany powoduje operację przechwytywania. Każda partycja przechwytuje niezależnie i zapisuje ukończony blokowy obiekt blob w czasie przechwytywania o nazwie czas napotkania interwału przechwytywania. Konwencja nazewnictwa magazynu jest następująca:

{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}

Zwróć uwagę, że wartości daty są wypełnione zerami; przykładowa nazwa pliku może być:

https://mystorageaccount.blob.core.windows.net/mycontainer/mynamespace/myeventhub/0/2017/12/08/03/03/17.avro

Skalowanie do jednostek przepływności

Ruch usługi Event Hubs jest kontrolowany przez jednostki przepływności. Pojedyncza jednostka przepływności umożliwia 1 MB na sekundę lub 1000 zdarzeń na sekundę ruchu przychodzącego i dwa razy większą ilość ruchu wychodzącego. Usługę Event Hubs w warstwie Standardowa można skonfigurować przy użyciu 1–20 jednostek przepływności i można kupić więcej z żądaniem zwiększenia limitu przydziału. Użycie wykraczające poza zakupione jednostki przepływności jest ograniczane. Funkcja przechwytywania usługi Event Hubs kopiuje dane bezpośrednio z wewnętrznego magazynu usługi Event Hubs, pomijając przydziały ruchu wychodzącego jednostki przepływności i zapisując ruch wychodzący dla innych czytników przetwarzania, takich jak Stream Analytics lub Spark.

Po skonfigurowaniu funkcja przechwytywania usługi Event Hubs jest uruchamiana automatycznie po wysłaniu pierwszego zdarzenia i kontynuuje działanie. Aby ułatwić przetwarzanie podrzędne, aby wiedzieć, że proces działa, usługa Event Hubs zapisuje puste pliki, gdy nie ma danych. Ten proces zapewnia przewidywalną kadencję i znacznik, który może dostarczać procesory wsadowe.