Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Travaillez avec CSV des données dans AWS Glue

Mode de mise au point
Travaillez avec CSV des données dans AWS Glue - Amazon Athena

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.

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.

Cette page décrit comment créer un schéma AWS Glue à partir de CSV fichiers comportant des guillemets autour des valeurs de données pour chaque colonne ou à partir de CSV fichiers contenant des valeurs d'en-tête.

Traitement des CSV données incluses dans les devis

Supposons qu'un CSV fichier comporte des champs de données placés entre guillemets, comme dans l'exemple suivant.

"John","Doe","123-555-1231","John said \"hello\"" "Jane","Doe","123-555-9876","Jane said \"hello\""

Pour exécuter une requête dans Athena sur une table créée à partir d'un CSV fichier contenant des valeurs entre guillemets, vous devez modifier les propriétés de la table AWS Glue pour utiliser le O penCSVSer De. Pour plus d'informations sur l'Open CSV SerDe, consultezOuvert CSV SerDe pour traitement CSV.

Pour modifier les propriétés du tableau dans la AWS Glue console
  1. Dans le volet de navigation de la AWS Glue console, sélectionnez Tables.

  2. Choisissez le lien de la table que vous souhaitez modifier, puis sélectionnez Action, Modifier la table.

  3. Sur la page Modifier le tableau, procédez au modifications suivantes :

    • Dans la Bibliothèque de sérialisation, saisissez org.apache.hadoop.hive.serde2.OpenCSVSerde.

    • Pour Serde parameters (Paramètres Serde), saisissez les valeurs suivantes pour les clés escapeChar, quoteChar et separatorChar :

      • Pour escapeChar, saisissez une barre oblique inverse (\).

      • Pour quoteChar, saisissez un guillemet double (").

      • Pour separatorChar, saisissez une virgule (,).

  4. Choisissez Save (Enregistrer).

Pour en savoir plus, consultez Affichage et modification des détails de table dans le Guide du développeur AWS Glue .

Vous pouvez également mettre à jour les propriétés des AWS Glue tables par programmation. Utilisez l' AWS Glue UpdateTableAPIopération ou la AWS CLI commande update-table pour modifier le SerDeInfo bloc dans la définition de la table, comme dans l'exemple suivantJSON.

"SerDeInfo": { "name": "", "serializationLib": "org.apache.hadoop.hive.serde2.OpenCSVSerde", "parameters": { "separatorChar": "," "quoteChar": "\"" "escapeChar": "\\" } },

Manipulation de CSV fichiers avec en-têtes

Lorsque vous définissez une table dans Athena à l'aide d'une CREATE TABLE instruction, vous pouvez utiliser la propriété skip.header.line.count table pour ignorer les en-têtes de vos CSV données, comme dans l'exemple suivant.

... STORED AS TEXTFILE LOCATION 's3://amzn-s3-demo-bucket/csvdata_folder/'; TBLPROPERTIES ("skip.header.line.count"="1")

Vous pouvez également supprimer les CSV en-têtes au préalable afin que les informations d'en-tête ne soient pas incluses dans les résultats de la requête Athena. L'un des moyens d'y parvenir consiste à utiliser AWS Glue des tâches qui exécutent des tâches d'extraction, de transformation et de chargement (ETL). Vous pouvez écrire des scripts en AWS Glue utilisant un langage qui est une extension du dialecte PySpark Python. Pour plus d'informations, consultez la section Création de tâches dans AWS Glue dans le manuel du AWS Glue développeur.

L'exemple suivant montre une fonction dans un AWS Glue script qui écrit un cadre dynamique en utilisant from_options et définit l'option de writeHeader format sur false, ce qui supprime les informations d'en-tête :

glueContext.write_dynamic_frame.from_options(frame = applymapping1, connection_type = "s3", connection_options = {"path": "s3://amzn-s3-demo-bucket/MYTABLEDATA/"}, format = "csv", format_options = {"writeHeader": False}, transformation_ctx = "datasink2")
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.