Explore a captura de Hubs de Eventos

Concluído

Os Hubs de Eventos do Azure permitem capturar automaticamente os dados de streaming nos Hubs de Eventos em um armazenamento de Blob do Azure ou conta do Armazenamento do Azure Data Lake de sua escolha, com a flexibilidade adicional de especificar um intervalo de tempo ou tamanho. A configuração do Capture é rápida, não há custos administrativos para executá-lo e ele é dimensionado automaticamente com unidades de taxa de transferência de Hubs de Eventos na camada padrão ou unidades de processamento na camada premium.

Imagem mostrando a captura de dados de Hubs de Eventos no Armazenamento do Azure ou no Armazenamento do Azure Data Lake

O Event Hubs Capture permite processar pipelines em tempo real e baseados em lote no mesmo fluxo. Isso significa que você pode criar soluções que crescem de acordo com suas necessidades ao longo do tempo.

Como funciona a captura de Hubs de Eventos

Os Hubs de Eventos são um buffer durável de retenção de tempo para entrada de telemetria, semelhante a um log distribuído. A chave para o dimensionamento em Hubs de Eventos é o modelo de consumidor particionado. Cada partição é um segmento independente de dados e é consumida independentemente. Com o tempo, esses dados envelhecem, com base no período de retenção configurável. Como resultado, um determinado hub de eventos nunca fica "muito cheio".

A Captura de Hubs de Eventos permite que você especifique sua própria conta e contêiner de armazenamento de Blob do Azure ou conta do Repositório Azure Data Lake, que são usados para armazenar os dados capturados. Essas contas podem estar na mesma região do seu hub de eventos ou em outra região, aumentando a flexibilidade do recurso de captura de Hubs de Eventos.

Os dados capturados são escritos no formato Apache Avro: um formato compacto, rápido e binário que fornece estruturas de dados ricas com esquema embutido. Esse formato é amplamente usado no ecossistema Hadoop, no Stream Analytics e no Azure Data Factory. Mais informações sobre como trabalhar com a Avro estão disponíveis mais adiante neste artigo.

Capturar janelas

O Event Hubs Capture permite configurar uma janela para controlar a captura. Esta janela é uma configuração mínima de tamanho e tempo com uma "política de primeiro ganho", o que significa que o primeiro gatilho encontrado causa uma operação de captura. Cada partição captura de forma independente e grava um blob de bloco concluído no momento da captura, nomeado para o tempo em que o intervalo de captura foi encontrado. A convenção de nomenclatura de armazenamento é a seguinte:

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

Observe que os valores de data são acolchoados com zeros; Um nome de arquivo de exemplo pode ser:

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

Dimensionamento para unidades de taxa de transferência

O tráfego dos Hubs de Eventos é controlado por unidades de taxa de transferência. Uma única unidade de taxa de transferência permite 1 MB por segundo ou 1.000 eventos por segundo de entrada e o dobro dessa quantidade de saída. Os Hubs de Eventos padrão podem ser configurados com 1 a 20 unidades de taxa de transferência, e você pode comprar mais com uma solicitação de suporte de aumento de cota. O uso além das unidades de taxa de transferência compradas é limitado. Hubs de Eventos Capture copia dados diretamente do armazenamento interno dos Hubs de Eventos, ignorando as cotas de saída da unidade de taxa de transferência e salvando sua saída para outros leitores de processamento, como o Stream Analytics ou o Spark.

Uma vez configurado, o Event Hubs Capture é executado automaticamente quando você envia seu primeiro evento e continua em execução. Para facilitar o processamento downstream saber que o processo está funcionando, os Hubs de Eventos gravam arquivos vazios quando não há dados. Esse processo fornece uma cadência e um marcador previsíveis que podem alimentar seus processadores em lote.