Exercício – escrever uma consulta de transformação do Azure Stream Analytics

Concluído

Uma consulta do Azure Stream Analytics transforma um fluxo de dados de entrada e produz uma saída. As consultas são escritas numa linguagem semelhante ao SQL, que é um subconjunto da linguagem do Transact-SQL (T-SQL).

Neste exercício, iremos transformar os dados de entrada de uma forma simples para demonstrar as funcionalidades da consulta de transformação expostas pelo Stream Analytics.

Nota

Este exercício é opcional. Se não tiver uma conta do Azure ou preferir não fazer o exercício na sua conta, pode simplesmente ler as instruções para compreender como configurar um ficheiro de entrada e alterar a consulta de transformação numa tarefa do Stream Analytics.

Vamos supor que precisa de extrair elementos de alguns dados do censo. Neste caso, quer as coordenadas de cada cidade nos dados do censo. Você usará um arquivo JSON como entrada. Execute uma consulta de transformação para extrair coordenadas dos dados e, em seguida, escreva os resultados num novo ficheiro no nosso armazenamento de Blobs.

Criar o ficheiro de entrada de exemplo

Comece criando um arquivo de entrada chamado input.json em seu computador local. O ficheiro inclui estes conteúdos.

{
    "City" : "Reykjavik",
    "Coordinates" :
    {
        "Latitude": 64,
        "Longitude": 21
    },
    "Census" :
    {
        "Population" : 125000,
        "Municipality" : "Reykjavík",
        "Region" : "Höfuðborgarsvæðið"
    }
}

Carregue o ficheiro de entrada

Em seguida, carregue o ficheiro JSON para um contentor de armazenamento de Blobs.

  1. Abra o portal do Azure.

  2. Vá para a sua conta de armazenamento de Blob de origemsrc.

    Gorjeta

    Para localizar recursos por nome, utilize o campo Procurar na parte superior do portal do Azure. Para localizar recursos relacionados, utilize o seu grupo de recursos.

  3. Selecione a conta de armazenamento streamsrc criada anteriormente.

  4. Em Armazenamento de dados, selecione Contêineres.

    Screenshot that shows how to set up an input Blob container.

  5. Selecione o contentor learn-container que criou. Deverá estar vazio.

  6. Selecione Carregar. O painel Carregar blob é exibido. Ao lado de Arquivos, selecione o ícone da pasta e, em seguida, selecione o arquivo JSON.

  7. Expanda as opções Avançadas, se ainda não estiverem expandidas.

  8. No campo Carregar para a pasta, introduza input/[AAAA-MM-DD]. Aqui, AAAA-MM-DD é a data atual e precisa ser inserida usando o formato de dados que você anotou no exercício Configurar a entrada de trabalho do Azure Stream Analytics.

  9. Deixe os valores predefinidos nos outros campos.

  10. Selecione Carregar.

    Screenshot that shows how to upload the JSON file.

Após o carregamento do ficheiro, deverá ver a pasta de entrada no contentor. Selecione-a para explorar a hierarquia de blobs e ver os dados.

Configurar o contentor de armazenamento de Blobs de saída

Em seguida, configure o destino dos dados transformados:

  1. Vá para o streamsink da conta de armazenamento de Blob de destino.

  2. Nas opções na página de visão geral, selecione Navegador de armazenamento.

    Screenshot that shows the Storage browser in Azure portal.

  3. À direita, vá para Contêineres de Blob.

  4. Selecione o contentor que criou.

  5. No menu acima dos detalhes do contêiner, selecione Adicionar diretório. O painel Adicionar diretório virtual é exibido.

  6. Para o Nome da pasta, introduza saída e, em seguida, selecione OK. Neste caso, está a criar um marcador de posição. O Azure não irá apresentar a pasta até adicionar um ficheiro à mesma.

Escrever a consulta de transformação

Agora está pronto para escrever a consulta de transformação. Terá de extrair as coordenadas dos dados de entrada e escrevê-las na saída. Irá fazê-lo com uma declaração SELECT. Pode encontrar as opções de consulta online ou através da ligação no resumo deste módulo.

  1. Use o campo de pesquisa para encontrar seu trabalho do Stream Analytics, SimpleTransfomer, no portal do Azure.

  2. Em Topologia da tarefa, selecione Consulta.

  3. No painel Consulta, adicione a seguinte consulta:

    SELECT City,
        Coordinates.Latitude,
        Coordinates.Longitude
    INTO streamoutput
    FROM streaminput
    

    Screenshot that shows how to write and save a query.

  4. Selecione Salvar consulta.

Testar o modelo

Antes de executar uma tarefa, é recomendável que teste a consulta para garantir que funciona conforme pretendido. No portal do Azure, aceda à tarefa do Stream Analytics. Em Topologia de trabalho, selecione Consulta>de teste. Os resultados do teste são exibidos abaixo da consulta.