Analysez et visualisez JSON des données imbriquées avec Amazon Athena et Amazon QuickSight - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Analysez et visualisez JSON des données imbriquées avec Amazon Athena et Amazon QuickSight

Créée par Anoop Singh () AWS

Environnement : PoC ou pilote

Technologies : analyse ; bases de données

AWSservices : Amazon Athena ; Amazon QuickSight

Récapitulatif

Ce modèle explique comment traduire une structure de données imbriquée et JSON formatée en vue tabulaire à l'aide d'Amazon Athena, puis comment visualiser les données dans Amazon. QuickSight

Vous pouvez utiliser des données JSON formatées pour les flux de données API alimentés par des systèmes d'exploitation afin de créer des produits de données. Ces données peuvent également vous aider à mieux comprendre vos clients et leurs interactions avec vos produits, afin que vous puissiez personnaliser l'expérience utilisateur et prévoir les résultats.

Conditions préalables et limitations

Prérequis

  • Un actif Compte AWS

  • Un JSON fichier qui représente une structure de données imbriquée (ce modèle fournit un exemple de fichier)

Limites :

  • JSONles fonctionnalités s'intègrent bien aux fonctions SQL orientées existantes dans Athena. Cependant, ils ne sont pas ANSI SQL compatibles et le JSON fichier doit contenir chaque enregistrement sur une ligne distincte. Vous devrez peut-être utiliser la ignore.malformed.json propriété dans Athena pour indiquer si les JSON enregistrements mal formés doivent être transformés en caractères nuls ou générer des erreurs. Pour plus d'informations, consultez la section Meilleures pratiques en matière de lecture JSON des données dans la documentation d'Athena.

  • Ce modèle ne prend en compte que de simples et petites quantités de JSON données formatées. Si vous souhaitez utiliser ces concepts à grande échelle, envisagez d'appliquer un partitionnement des données et de consolider vos données dans des fichiers plus volumineux.

Architecture

Le schéma suivant montre l'architecture et le flux de travail de ce modèle. Les structures de données imbriquées sont stockées dans Amazon Simple Storage Service (Amazon S3JSON) au format. Dans Athena, les JSON données sont mappées à une structure de données Athéna. Vous créez ensuite une vue pour analyser les données et visualiser la structure des données dans QuickSight.

Analyse et visualisation de données imbriquées sur JSON AWS

Outils

AWSservices

  • Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données. Ce modèle utilise Amazon S3 pour stocker le JSON fichier.

  • Amazon Athena est un service de requête interactif qui vous permet d'analyser les données directement dans Amazon S3 en utilisant la norme. SQL Ce modèle utilise Athena pour interroger et transformer les JSON données. En effectuant quelques actions AWS Management Console, vous pouvez diriger Athena vers vos données dans Amazon S3 et utiliser la norme SQL pour exécuter des requêtes ponctuelles. Athena fonctionne sans serveur, il n'y a donc aucune infrastructure à configurer ou à gérer, et vous ne payez que pour les requêtes que vous exécutez. Athena évolue automatiquement et exécute des requêtes en parallèle, de sorte que les résultats sont rapides, même avec des ensembles de données volumineux et des requêtes complexes.     

  • Amazon QuickSight est un service de business intelligence (BI) à l'échelle du cloud qui vous permet de visualiser, d'analyser et de rapporter vos données sur un tableau de bord unique. QuickSight vous permet de créer et de publier facilement des tableaux de bord interactifs qui incluent des informations sur le machine learning (ML). Vous pouvez accéder à ces tableaux de bord depuis n'importe quel appareil et les intégrer à vos applications, portails et sites Web.

Exemple de code

Le JSON fichier suivant fournit une structure de données imbriquée que vous pouvez utiliser dans ce modèle.

{ "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 } ] }

Épopées

TâcheDescriptionCompétences requises

Créez un compartiment S3.

Pour créer un compartiment pour stocker le JSON fichier, connectez-vous à la console Amazon S3 AWS Management Console, ouvrez-la, puis choisissez Create bucket. Pour plus d'informations, consultez la section Création d'un compartiment dans la documentation Amazon S3. 

Administrateur de systèmes

Ajoutez les JSON données imbriquées.

Téléchargez votre JSON fichier dans le compartiment S3. Pour un exemple de JSON fichier, reportez-vous à la section précédente. Pour obtenir des instructions, consultez la section Chargement d'objets dans la documentation Amazon S3.

Administrateur de systèmes
TâcheDescriptionCompétences requises

Créez une table pour mapper les JSON données.

  1. Ouvrez la console Athena.

  2. Créez une base de données en suivant les instructions de la documentation d'Athena.

  3. Dans le menu Base de données, sélectionnez la base de données que vous avez créée.

  4. Dans l'éditeur de requêtes, entrez une CREATE TABLE instruction telle que la suivante :

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

    LOCATION indique l'emplacement du compartiment S3 contenant le JSON fichier.

  5. Choisissez Exécuter pour créer la table.

Pour plus d'informations sur la création de tables, consultez la documentation d'Athena.

Developer

Créez une vue pour l'analyse des données.

  1. Ouvrez la console Athena.

  2. Créez une base de données en suivant les instructions de la documentation d'Athena.

  3. Dans le menu Base de données, sélectionnez la base de données que vous avez créée.

  4. Dans l'éditeur de requêtes, entrez une CREATE VIEW instruction telle que la suivante :

    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. Choisissez Run (Exécuter) pour créer la vue.

Pour plus d'informations sur la création de vues, consultez la documentation d'Athena.

Developer

Analysez et validez les données.

  1. Ouvrez la console Athena.

  2. Dans l'éditeur de requêtes, exécutez des requêtes en utilisant la vue que vous avez créée à l'étape précédente.

  3. Validez les données par rapport au JSON fichier pour vérifier que les noms de colonnes et les types de données sont correctement mappés.

Developer
TâcheDescriptionCompétences requises

Configurez Athena en tant que source de données dans. QuickSight

  1. Ouvrez la QuickSight console.

  2. Choisissez Jeux de données, Nouveau jeu de données.

  3. Choisissez Athena comme source de données.

  4. Choisissez la base de données qui inclut la vue que vous avez créée.

  5. Choisissez la vue pour laquelle vous souhaitez créer un jeu de données.

  6. Sur la page Terminer la création de l'ensemble de données, choisissez Directly query your data.

  7. Choisissez Visualize.

Administrateur de systèmes

Visualisez les données dans QuickSight.

  1. Après avoir visualisé le jeu de données, choisissez les éléments visuels dans le volet de gauche, puis choisissez les champs pour le jeu de données. Pour plus d'informations, consultez le didacticiel dans la QuickSight documentation.

  2. Enregistrez les modifications apportées à l'analyse.

  3. Choisissez Publier le tableau de bord pour publier les visuels que vous avez créés.

Analyste des données

Ressources connexes