Utilisation de fichiers dans Amazon S3 pour la source de données - 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.

Utilisation de fichiers dans Amazon S3 pour la source de données

Si vous choisissez Amazon S3 comme source de données, vous pouvez choisir parmis :

  • Une base de données et une table de catalogue de données.

  • Un compartiment, un dossier ou un fichier dans Amazon S3.

Si vous utilisez un compartiment Amazon S3 comme source de données, AWS Glue détecte le schéma des données à l'emplacement spécifié à partir de l'un des fichiers, ou en utilisant le fichier que vous spécifiez comme exemple de fichier. La détection de schéma se produit lorsque vous utilisez le bouton Infer schema (Déduire le schéma). Si vous modifiez l'emplacement Amazon S3 ou l'exemple de fichier, vous devez choisir Infer schema (Déduire le schéma) à nouveau pour effectuer la détection du schéma à l'aide des nouvelles informations.

Pour configurer un nœud de source de données qui lit directement à partir de fichiers dans Amazon S3
  1. Accédez à l'éditeur visuel pour une tâche nouvelle ou sauvegardée.

  2. Choisissez un nœud de source de données dans le diagramme de tâches pour une source Amazon S3.

  3. Choisissez l'onglet Data source properties (Propriétés de source de données), puis saisissez les informations suivantes :

    • S3 source type (Type de source S3) : (pour les sources de données Amazon S3 uniquement) choisissez l'option S3 location (Emplacement S3).

    • S3 URL (URL S3) : saisissez le chemin d'accès au compartiment, dossier ou fichier Amazon S3 contenant les données de votre tâche. Vous pouvez choisir Browse S3 (Parcourir S3) pour sélectionner le chemin d'accès à partir des emplacements disponibles pour votre compte.

    • Recursive (Récursif) : choisissez cette option si vous voulez que AWS Glue lise les données à partir de fichiers dans des dossiers enfants de l'emplacement S3.

      Si les dossiers enfants contiennent des données partitionnées, AWS Glue n'ajoute aucune information de partition spécifiée dans les noms de dossiers au catalogue de données. Prenons l'exemple des dossiers suivants dans Amazon S3 :

      S3://sales/year=2019/month=Jan/day=1 S3://sales/year=2019/month=Jan/day=2

      Si vous choisissez Recursive (Récursif) et sélectionnez sales comme emplacement S3, AWS Glue lit les données dans tous les dossiers enfants, mais ne crée pas de partitions pour l'année, le mois ou le jour.

    • Data format (Format de données) : choisissez le format dans lequel les données sont stockées. Vous pouvez choisir entre JSON, CSV ou Parquet. La valeur que vous sélectionnez indique à la tâche AWS Glue comment lire les données du fichier source.

      Note

      Si vous ne sélectionnez pas le format correct pour vos données, AWS Glue pourrait déduire correctement le schéma, mais la tâche ne sera pas en mesure d'analyser correctement les données du fichier source.

      Vous pouvez saisir des options de configuration supplémentaires, selon le format que vous choisissez.

      • JSON (JavaScript Object Notation)

        • JsonPath: chemin d'accès JSON qui pointe vers un objet utilisé pour définir un schéma de table. Les expressions de chemin JSON font toujours référence à une structure JSON de la même manière que les expressions XPath sont utilisées en combinaison avec un document XML. Le « root member object (objet membre racine) » dans le chemin JSON est toujours appelé $, qu'il s'agisse d'un objet ou d'un tableau. Le chemin JSON peut être écrit en notation point ou en notation crochet.

          Pour plus d'informations sur le chemin JSON, veuillez consulter JsonPath sur site Web GitHub.

        • Records in source files can span multiple lines (Les enregistrements dans les fichiers source peuvent s'étendre sur plusieurs lignes) : choisissez cette option si un même enregistrement peut couvrir plusieurs lignes dans le fichier CSV.

      • CSV (valeurs séparées par des virgules)

        • Delimiter (Délimiteur) : saisissez un caractère pour indiquer ce qui sépare chaque entrée de colonne dans la ligne, par exemple, ; ou ,.

        • Escape character (Caractère d'échappement) : saisissez un caractère utilisé comme caractère d'échappement. Ce caractère indique que le caractère qui suit immédiatement le caractère d'échappement doit être pris littéralement et ne doit pas être interprété comme un délimiteur.

        • Quote character (Caractère de citation, ou guillemet) : saisissez le caractère utilisé pour regrouper des chaînes distinctes en une seule valeur. Par exemple, choisissez Double quote (") Guillemet double (") si vous avez des valeurs telles que "This is a single value" dans votre fichier CSV.

        • Records in source files can span multiple lines (Les enregistrements dans les fichiers source peuvent s'étendre sur plusieurs lignes) : choisissez cette option si un même enregistrement peut couvrir plusieurs lignes dans le fichier CSV.

        • First line of source file contains column headers (La première ligne du fichier source contient les en-têtes de colonne) : choisissez cette option si la première ligne du fichier CSV contient des en-têtes de colonne au lieu de données.

      • Parquet (stockage en colonnes Apache Parquet)

        Il n'y a pas de paramètres supplémentaires à configurer pour les données stockées au format Parquet.

    • Partition predicate (Prédicat de partition) : pour partitionner les données lues à partir de la source de données, saisissez une expression booléenne basée sur Spark SQL qui inclut uniquement les colonnes de partitionnement. Par exemple : "(year=='2020' and month=='04')"

    • Advanced options (Options avancées) : développez cette section si vous voulez que AWS Glue détecte le schéma de vos données en fonction d'un fichier spécifique.

      • Schema inference (Déduction de schéma) : choisissez l'option Choose a sample file from S3 (Choisir un exemple de fichier dans S3) si vous voulez utiliser un fichier spécifique au lieu de laisser AWS Glue choisir un fichier.

      • Auto-sampled file (Fichier auto-échantillonné) : saisissez le chemin d'accès au fichier dans Amazon S3 à utiliser pour déduire le schéma.

      Si vous modifiez un nœud de source de données et modifiez l'exemple de fichier sélectionné, choisissez Reload schema (Recharger le schéma) pour détecter le schéma à l'aide du nouvel exemple de fichier.

  4. Cliquez sur le bouton Infer schema (Déduire le schéma) pour détecter le schéma à partir des fichiers sources dans Amazon S3. Si vous modifiez l'emplacement Amazon S3 ou l'exemple de fichier, vous devez choisir Infer schema (Déduire le schéma) à nouveau pour déduire le schéma à l'aide des nouvelles informations.