Analise e visualize JSON dados aninhados com o Amazon Athena e a Amazon QuickSight - 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 JSON dados aninhados com o Amazon Athena e a Amazon QuickSight

Criado por Anoop Singh () AWS

Ambiente: PoC ou piloto

Tecnologias: análise; bancos de dados

AWSserviços: Amazon Athena; Amazon QuickSight

Resumo

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

Você pode usar dados JSON formatados para feeds de dados API alimentados por sistemas operacionais para criar produtos de dados. Esses dados também podem ajudar você a entender melhor seus clientes e suas interações com seus produtos, para que você possa personalizar as experiências do usuário e prever resultados.

Pré-requisitos e limitações

Pré-requisitos

  • Um ativo Conta da AWS

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

Limitações:

  • JSONos recursos se integram bem às funções SQL orientadas existentes no Athena. No entanto, eles não são ANSI SQL compatíveis e espera-se que o JSON arquivo carregue cada registro em uma linha separada. Talvez seja necessário usar a ignore.malformed.json propriedade no Athena para indicar se JSON registros malformados devem ser transformados em caracteres nulos ou gerar erros. Para obter mais informações, consulte Práticas recomendadas para leitura de JSON dados na documentação do Athena.

  • Esse padrão considera apenas quantidades simples e pequenas de JSON dados formatados. Se você quiser usar esses conceitos em grande escala, considere aplicar o particionamento de dados e consolidar seus dados em arquivos maiores.

Arquitetura

O diagrama a seguir mostra a arquitetura e o fluxo de trabalho desse padrão. As estruturas de dados aninhadas são armazenadas no formato Amazon Simple Storage Service (Amazon S3). JSON No Athena, os JSON dados são mapeados para uma estrutura de dados do Athena. Em seguida, você cria uma visualização para analisar os dados e visualizar a estrutura de dados em QuickSight.

Analisando e visualizando dados aninhados JSON em AWS

Ferramentas

AWSserviços

  • 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. Esse padrão usa o Amazon S3 para armazenar o JSON arquivo.

  • O Amazon Athena é um serviço de consulta interativo que ajuda você a analisar dados diretamente no Amazon S3 usando o padrão. SQL Esse padrão usa o Athena para consultar e transformar os JSON dados. Com algumas ações no AWS Management Console, você pode direcionar o Athena para seus dados no Amazon S3 e usar o SQL padrão para executar consultas únicas. O Athena não tem servidor, portanto, não há infraestrutura para configurar ou gerenciar, e você paga somente pelas consultas que executa. O Athena escala automaticamente e executa consultas em paralelo, para que os resultados sejam rápidos, mesmo com grandes conjuntos de dados e consultas complexas.     

  • QuickSightA Amazon é 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. QuickSight 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 aos seus aplicativos, portais e sites.

Código de exemplo

O JSON arquivo a seguir fornece uma estrutura de dados aninhada que você pode usar nesse 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

TarefaDescriçãoHabilidades necessárias

Criar um bucket do S3.

Para criar um bucket para armazenar o JSON arquivo, faça login no AWS Management Console, 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 JSON dados aninhados.

Faça upload JSON do seu arquivo para o bucket do S3. Para obter um JSON arquivo 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
TarefaDescriçãoHabilidades necessárias

Crie uma tabela para mapear os JSON dados.

  1. Abra o console do Athena.

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

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

  4. No editor de consultas, insira uma CREATE TABLE declaração como a seguinte:

    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/'

    onde LOCATION especifica a localização do bucket do S3 que contém o JSON arquivo.

  5. Escolha Executar para criar a tabela.

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

Desenvolvedor

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

  1. Abra o console do Athena.

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

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

  4. No editor de consultas, insira uma CREATE VIEW declaração como a seguinte:

    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 a criação de visualizações, consulte a documentação do Athena.

Desenvolvedor

Analise e valide os dados.

  1. Abra o console do Athena.

  2. No editor de consultas, execute consultas usando a exibição que você criou na etapa anterior.

  3. Valide os dados em relação ao JSON arquivo para confirmar se os nomes das colunas e os tipos de dados estão mapeados corretamente.

Desenvolvedor
TarefaDescriçãoHabilidades necessárias

Configure o Athena como fonte de dados em. QuickSight

  1. Abra o QuickSight console.

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

  3. Escolha Athena como fonte de dados.

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

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

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

  7. Escolha Visualize.

Administrador de sistemas

Visualize os dados em QuickSight.

  1. Depois de visualizar o conjunto de dados, escolha as imagens no painel esquerdo e escolha os campos para o conjunto de dados. Para obter mais informações, consulte o tutorial na QuickSight documentação.

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

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

Analista de dados

Recursos relacionados