Conversion de schémas semi-structurés en schémas relationnels avec AWS Glue
Il est courant de vouloir convertir des données semi-structurées en tables relationnelles. D'un point de vue conceptuel, vous aplatissez un schéma hiérarchique en un schéma relationnel. AWS Glue peut effectuer cette conversion pour vous en continu.
Les données semi-structurées contiennent généralement un balisage pour identifier les entités au sein des données. Il peut inclure des structures de données imbriquées sans schéma fixe. Pour en savoir plus sur les données semi-structurées, consultez Semi-structured data
Les données relationnelles sont représentées par des tables composées de lignes et de colonnes. Les relations entre les tables peuvent être représentées par une relation entre clé primaire et clé étrangère. Pour en savoir plus, consultez Base de données relationnelle
AWS Glue utilise des crawlers pour déduire des schémas pour les données semi-structurées. Il transforme ensuite les données en un schéma relationnel à l'aide d'une tâche ETL (extraction, transformation et chargement). Par exemple, vous souhaiterez peut-être analyser les données JSON des fichiers source Amazon Simple Storage Service (Amazon S3) vers les tables Amazon Relational Database Service (Amazon RDS). Comprendre comment AWS Glue gère les différences entre les schémas peut vous aider à comprendre le processus de transformation.
Ce diagramme montre comment AWS Glue transforme un schéma semi-structuré en schéma relationnel.
Le diagramme illustre les éléments suivants :
-
La valeur unique
Aest convertie directement en une colonne relationnelle. -
La paire de valeurs
B1etB2est convertie en deux colonnes relationnelles. -
La structure
Cet ses enfantsXetYsont convertis en deux colonnes relationnelles. -
Le tableau
D[]est converti en une colonne relationnelle avec une clé étrangère qui pointe vers une autre table relationnelle. En plus d'une clé primaire, la seconde table relationnelle comporte des colonnes qui contiennent le décalage et la valeur des éléments du tableau.