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.
Lecture d'objets S3 archivés avec la classe de stockage standard
Utilisation d'AWS Glue
Les données déchargées de MySQL vers Amazon S3 conservent la même rigidité structurelle et la même cohérence typiques d'un système de gestion de base de données relationnelle (RDBMS).
AWS Glue Crawler explore les objets S3, en déduit les types de données et crée des métadonnées de table sous forme de table DDL externe. Lorsque vous configurez la tâche d'exploration, utilisez Amazon S3 comme source et spécifiez l'emplacement du préfixe S3 où tous les fichiers de données sont créés. Dans la configuration, incluez les éléments suivants :
-
Options d'exécution du crawler
-
Préférence de préfixe de tableau facultative
-
Base de données cible pour la création de la table
-
Rôles IAM avec autorisations requises
Une fois que vous avez appelé la tâche, elle analyse les données pour en déduire le schéma et le conserver dans le catalogue de données AWS Glue sous forme de tables AWS Glue. Les tables AWS Glue sont essentiellement des tables externes qui peuvent être interrogées à l'aide d'instructions SQL, comme une table de base de données normale, à l'aide de services analytiques tels qu'Amazon Athena, AmazonRedshift Spectrum et Apache Hive sur Amazon EMR. Pour plus d'informations sur le robot d'exploration, consultez la documentation AWS Glue.
Pour les fichiers .csv avec un en-tête de colonne spécifié, les noms de colonne de la table qui en résultent refléteront les mêmes noms de champs. Le type de données est déduit en fonction des valeurs de l'objet de données.
Pour les fichiers Parquet, le schéma est préservé dans les données elles-mêmes et la table résultante reflétera les mêmes noms de champs et le même type de données.
Vous pouvez également exécuter un DDL manuellement dans Athena pour créer la définition de table avec les noms de colonne et le type de données requis. Cela crée la définition de la table dans le catalogue de données. Pour plus d'informations sur la création de tables Athena, consultez la documentation Amazon Athena.
Remarque : Si la ligne d'en-tête est absente du fichier CSV, le robot crée le nom du champ sous la forme générique c_0, c_1, c_2,...
Utilisation d'Amazon S3 Select
Vous pouvez utiliser Amazon S3 Select pour lire les objets S3 par programmation à l'aide d'expressions SQL. L'opération d'API peut être invoquée à l'aide de la commande AWS CLI select-object-content ou à l'aide d'un SDK tel que Boto3 et en invoquant l'opération depuis Python. select_object_content
Les opérations d'API prennent en charge les instructions SQL en tant que paramètres et ne peuvent lire que des fichiers de type JSON et Parquet. Les sorties peuvent être redirigées sous forme de fichiers de sortie.
Ces opérations sont invoquées pour chaque objet S3. Pour plusieurs fichiers, exécutez les opérations de manière récursive.
Pour plus d'informations sur l'exécution des opérations à l'aide de l'AWS CLI, consultez la documentation de l'AWS CLI. Pour plus d'informations sur l'exécution de S3 Select à l'aide du SDK Python Boto3, consultez la documentation Boto3.