Exercício – escrever uma consulta de transformação do Azure Stream Analytics
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.
Abra o portal do Azure.
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.
Selecione a conta de armazenamento streamsrc criada anteriormente.
Em Armazenamento de dados, selecione Contêineres.
Selecione o contentor learn-container que criou. Deverá estar vazio.
Selecione Carregar. O painel Carregar blob é exibido. Ao lado de Arquivos, selecione o ícone da pasta e, em seguida, selecione o arquivo JSON.
Expanda as opções Avançadas, se ainda não estiverem expandidas.
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.
Deixe os valores predefinidos nos outros campos.
Selecione Carregar.
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:
Vá para o streamsink da conta de armazenamento de Blob de destino.
Nas opções na página de visão geral, selecione Navegador de armazenamento.
À direita, vá para Contêineres de Blob.
Selecione o contentor que criou.
No menu acima dos detalhes do contêiner, selecione Adicionar diretório. O painel Adicionar diretório virtual é exibido.
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.
Use o campo de pesquisa para encontrar seu trabalho do Stream Analytics, SimpleTransfomer, no portal do Azure.
Em Topologia da tarefa, selecione Consulta.
No painel Consulta, adicione a seguinte consulta:
SELECT City, Coordinates.Latitude, Coordinates.Longitude INTO streamoutput FROM streaminput
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.