Analise e visualize dados JSON aninhados com o Amazon Athena e o Amazon Quick Sight - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Analise e visualize dados JSON aninhados com o Amazon Athena e o Amazon Quick Sight

Anoop Singh, Amazon Web Services

Resumo

Esse padrão explica como traduzir uma estrutura de dados aninhada e formatada em JSON em uma visualização tabular usando o Amazon Athena e, em seguida, visualizar os dados no Amazon Quick Sight.

É possível usar dados em formato JSON de feeds de dados com tecnologia de API usando sistemas operacionais para criar produtos de dados. Esses dados também podem ajudar você a compreender melhor seus clientes e as interações deles com seus produtos, permitindo personalizar a experiência do usuário e prever resultados.

Pré-requisitos e limitações

Pré-requisitos

  • Um ativo Conta da AWS

  • Um arquivo JSON que representa uma estrutura de dados aninhada (este padrão fornece um arquivo de amostra)

Limitações:

  • Os recursos do JSON funcionam de forma integrada com as funções orientadas por SQL já existentes no Athena. No entanto, não há compatibilidade com SQL padrão ANSI, e espera-se que o arquivo JSON contenha cada registro em uma linha separada. Pode ser necessário configurar a propriedade ignore.malformed.json no Athena para indicar se registros JSON em formatos incorretos devem ser convertidos em valores nulos ou gerar erros. Para obter mais informações, consulte Práticas recomendadas de leitura de dados JSON na documentação do Athena.

  • Este padrão considera somente volumes reduzidos e simples de dados formatados em JSON. Se você deseja aplicar esses conceitos em grande escala, considere usar o particionamento de dados e consolidar os dados em arquivos maiores.

Arquitetura

O diagrama apresentado a seguir ilustra a arquitetura e o fluxo de trabalho para este padrão. As estruturas de dados aninhadas são armazenadas no Amazon Simple Storage Service (Amazon S3) no formato JSON. No Athena, os dados em JSON são mapeados para uma estrutura de dados compatível com o Athena. Em seguida, você cria uma visualização para analisar os dados e visualizar a estrutura de dados no Quick Sight.

Análise e visualização de dados JSON aninhados na AWS.

Ferramentas

Serviços da AWS

  • O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados. Este padrão usa o Amazon S3 para armazenar o arquivo JSON.

  • O Amazon Athena é um serviço de consultas interativas que facilita a análise de dados diretamente no Amazon S3 usando SQL padrão. Esse padrão usa o Athena para realizar consultas e transformar os dados em JSON. Com algumas ações no Console de gerenciamento da AWS, você pode direcionar o Athena para seus dados no Amazon S3 e usar o SQL padrão para executar consultas únicas. O Athena é um serviço com tecnologia sem servidor, portanto não há infraestrutura para configurar ou gerenciar, e você paga somente pelas consultas que executar. O Athena escala automaticamente e executa consultas em paralelo, garantindo resultados rápidos mesmo com grandes volumes de dados e consultas complexas.     

  • O Amazon Quick Sight é um serviço de inteligência de negócios (BI) em escala de nuvem que ajuda você a visualizar, analisar e relatar seus dados em um único painel. O Quick Sight permite criar e publicar facilmente painéis interativos que incluem insights de aprendizado de máquina (ML). Você pode acessar esses painéis de qualquer dispositivo e incorporá-los em suas aplicações, portais e sites.

Código de exemplo

O arquivo JSON apresentado a seguir fornece uma estrutura de dados aninhada que você pode usar neste padrão.

{ "symbol": "AAPL", "financials": [ { "reportDate": "2017-03-31", "grossProfit": 20591000000, "costOfRevenue": 32305000000, "operatingRevenue": 52896000000, "totalRevenue": 52896000000, "operatingIncome": 14097000000, "netIncome": 11029000000, "researchAndDevelopment": 2776000000, "operatingExpense": 6494000000, "currentAssets": 101990000000, "totalAssets": 334532000000, "totalLiabilities": 200450000000, "currentCash": 15157000000, "currentDebt": 13991000000, "totalCash": 67101000000, "totalDebt": 98522000000, "shareholderEquity": 134082000000, "cashChange": -1214000000, "cashFlow": 12523000000, "operatingGainsLosses": null } ] }

Épicos

TarefaDescriptionHabilidades necessárias

Criar um bucket do S3.

Para criar um bucket para armazenar o arquivo JSON, faça login no Console de gerenciamento da AWS, abra o console do Amazon S3 e escolha Create bucket. Para obter mais informações, consulte Criar um bucket na documentação do Amazon S3. 

Administrador de sistemas

Adicione os dados em JSON aninhados.

Faça upload do arquivo JSON no bucket do S3. Para obter um arquivo JSON de amostra, consulte a seção anterior. Para obter instruções, consulte Fazer uploads de objetos na documentação do Amazon S3.

Administrador de sistemas
TarefaDescriptionHabilidades necessárias

Crie uma tabela destinada ao mapeamento dos dados em JSON.

  1. Abra o console do Athena.

  2. Crie um banco de dados conforme as instruções apresentadas na documentação do Athena.

  3. No menu Banco de dados, escolha o banco de dados que você criou.

  4. No editor de consultas, digite uma instrução CREATE TABLE como a mostrada a seguir:

    CREATE EXTERNAL TABLE financials_json ( symbol string, financials array< struct<reportdate: string, grossprofit: bigint, totalrevenue: bigint, totalcash: bigint, totaldebt: bigint, researchanddevelopment: bigint>> ) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' LOCATION 's3://s3bucket-for-athena/'

    em que LOCATION especifica a localização do bucket do S3 que armazena o arquivo JSON.

  5. Selecione Executar para criar a tabela.

Para obter mais informações sobre como criar tabelas, consulte a documentação do Athena.

Desenvolvedor

Crie uma visualização destinada à análise de dados.

  1. Abra o console do Athena.

  2. Crie um banco de dados conforme as instruções apresentadas na documentação do Athena.

  3. No menu Banco de dados, escolha o banco de dados que você criou.

  4. No editor de consultas, digite uma instrução CREATE VIEW como a mostrada a seguir:

    CREATE OR REPLACE VIEW financial_json_view AS SELECT symbol, financials[1].reportdate one_report_date, -- indexes start with 1 financials[1].totalrevenue one_total_revenue, financials[1].reportdate another_report_date, financials[1].totalrevenue another_total_revenue FROM financials_json where symbol='AAPL' ORDER BY 1
  5. Selecione Run (Executar) para criar a visualização.

Para obter mais informações sobre como criar visualizações, consulte a documentação do Athena.

Desenvolvedor

Realize a análise e a validação dos dados.

  1. Abra o console do Athena.

  2. No editor de consultas, execute consultas usando a visualização criada na etapa anterior.

  3. Valide os dados ao comparar com o arquivo JSON para assegurar que os nomes das colunas e os tipos de dados foram mapeados corretamente.

Desenvolvedor
TarefaDescriptionHabilidades necessárias

Configure o Athena como fonte de dados no Quick Sight.

  1. Abra o console do Quick Suite.

  2. Escolha Conjuntos de dados, Novo conjunto de dados.

  3. Selecione o Athena como a fonte de dados.

  4. Escolha o banco de dados que inclui a visualização que você criou.

  5. Defina a visualização para a qual você deseja criar um conjunto de dados.

  6. Na página Finalizar criação do conjunto de dados, escolha Consulte seus dados diretamente.

  7. Escolha Visualize.

Administrador de sistemas

Visualize dados no Quick Sight.

  1. Após a visualização do conjunto de dados, escolha os elementos visuais no painel à esquerda e escolha os campos correspondentes para o conjunto de dados. Para obter mais informações, consulte o tutorial apresentado na documentação do Quick Suite.

  2. Salve as alterações na análise.

  3. Selecione Publicar painel para publicar os elementos visuais que você criou.

Analista de dados

Recursos relacionados