AWS Systèmes de types Glue - AWS Glue

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.

AWS Systèmes de types Glue

AWS Glue utilise plusieurs systèmes de types pour fournir une interface polyvalente sur des systèmes de données qui stockent les données différemment. Ce document clarifie les systèmes de types AWS Glue et les normes de données.

AWS Types de catalogues de données Glue

Le catalogue de données est un metastore, un registre de tables et de champs stockés dans divers systèmes de données. Lorsque les composants AWS Glue, tels que les crawlers AWS AWS Glue et les tâches Spark avec Glue, écrivent dans le catalogue de données, ils le font à l'aide d'un système de type interne qui permet de suivre les types de champs. Ces valeurs sont affichées dans la colonne Type de données du schéma de table de la console AWS Glue. Ce système de types est basé sur le système de types d'Apache Hive. Pour plus d'informations sur le système de types Apache Hive, veuillez consulter la rubrique Types du wiki Apache Hive. Pour plus d'informations sur des types spécifiques et leur prise en charge, des exemples sont fournis dans la console AWS Glue, dans le cadre du générateur de schéma.

Validation, compatibilité et autres utilisations

Le catalogue de données ne valide pas les types écrits dans des champs de type. Lorsque les composants AWS Glue lisent et écrivent dans le catalogue de données, ils sont compatibles les uns avec les autres. AWS Les composants Glue visent également à préserver un haut degré de compatibilité avec les types Hive. Cependant, les composants AWS Glue ne garantissent pas la compatibilité avec tous les types Hive. Cela permet l'interopérabilité avec des outils tels que les Athena DDL lorsque vous utilisez des tables dans le catalogue de données.

Le catalogue de données ne validant pas les types, d'autres services peuvent utiliser le catalogue de données pour suivre les types à l'aide de systèmes strictement conformes au système de types Hive ou à tout autre système.

Types dans AWS Glue avec des scripts Spark

Lorsqu'un script Spark avec AWS Glue interprète ou transforme un jeu de données, nous fournissons DynamicFrame une représentation en mémoire de votre jeu de données tel qu'il est utilisé dans votre script. L'objectif d'un DynamicFrame est similaire à celui du DataFrame Spark : il modélise votre jeu de données afin que Spark puisse planifier et exécuter des transformations sur vos données. Nous garantissons que la représentation du type de DynamicFrame est compatible avec un DataFrame en fournissant les méthodes toDF et fromDF.

Si les informations de type peuvent être déduites ou fournies à un DataFrame, elles peuvent être déduites ou fournies à un DynamicFrame, sauf indication contraire. Lorsque nous fournissons des lecteurs ou des rédacteurs optimisés pour des formats de données spécifiques, si Spark peut lire ou écrire vos données, les lecteurs et rédacteurs pourront le faire également, sous réserve de restrictions documentées. Pour plus d'informations sur les lecteurs et les rédacteurs, veuillez consulter la rubrique Options de format pour les entrées et sorties dans AWS Glue pour Spark.

Le type de choix

Les DynamicFrames fournissent un mécanisme pour modéliser les champs d'un jeu de données dont les valeurs peuvent présenter des types incohérents sur le disque entre les lignes. Par exemple, un champ peut contenir un nombre stocké sous forme de chaîne dans certaines lignes et un entier dans d'autres. Ce mécanisme est un type en mémoire appelé Choice. Nous proposons des transformations, telles que la ResolveChoice méthode, pour transformer les colonnes de choix en un type concret. AWS Glue n'ETLécrira pas le type de choix dans le catalogue de données dans le cadre d'un fonctionnement normal. Les types de choix n'existent que dans le contexte des modèles de DynamicFrame mémoire des jeux de données. Pour un exemple d'utilisation du type de choix, veuillez consulter la rubrique Exemple de code : préparation des données à l'aide ResolveChoice de Lambda et ApplyMapping.

AWS Types de crawler Glue

Les crawlers visent à produire un schéma cohérent et utilisable pour votre jeu de données, puis à le stocker dans le catalogue de données pour l'utiliser dans d'autres composants AWS Glue et Athena. Les crawlers traitent les types comme indiqué dans la section précédente du catalogue de données, AWS Types de catalogues de données Glue. Pour produire un type utilisable dans les scénarios de type « choix », où une colonne contient des valeurs de deux types ou plus, les Crawlers créeront un type struct qui modélise les types potentiels.