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 ».

Connecteur Amazon Athena Google Cloud Storage

Mode de mise au point
Connecteur Amazon Athena Google Cloud Storage - 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.

Le connecteur Amazon Athena Google Cloud Storage permet à Amazon Athena d’exécuter des requêtes sur des fichiers Parquet et CSV stockés dans un compartiment Google Cloud Storage (GCS). Après avoir regroupé un ou plusieurs fichiers Parquet ou CSV dans un dossier partitionné ou non partitionné dans un compartiment GCS, vous pouvez les organiser dans une table de base de données AWS Glue.

Ce connecteur ne peut pas être enregistré auprès de Glue Data Catalog en tant que catalogue fédéré. Ce connecteur ne prend pas en charge les contrôles d'accès aux données définis dans Lake Formation au niveau du catalogue, de la base de données, de la table, des colonnes, des lignes et des balises. Ce connecteur utilise Glue Connections pour centraliser les propriétés de configuration dans Glue.

Si Lake Formation est activé sur votre compte, le rôle IAM de votre connecteur Lambda fédéré Athena que vous avez déployé dans AWS Serverless Application Repository le doit avoir un accès en lecture dans Lake Formation au. AWS Glue Data Catalog

Pour consulter un article expliquant comment utiliser Athena pour exécuter des requêtes sur des fichiers Parquet ou CSV dans un bucket GCS, consultez le billet de blog consacré aux AWS mégadonnées Utiliser Amazon Athena pour interroger les données stockées dans Google Cloud Platform.

Prérequis

Limites

  • Les opérations DDL d’écriture ne sont pas prises en charge.

  • Toutes les limites Lambda pertinentes. Pour plus d'informations, consultez la section Quotas Lambda du Guide du développeur AWS Lambda .

  • Actuellement, le connecteur ne prend en charge que le VARCHAR type pour les colonnes de partition (stringou varchar dans un schéma de AWS Glue table). Les autres types de champs de partition génèrent des erreurs lorsque vous les interrogez dans Athena.

Conditions

Les termes suivants se rapportent au connecteur GCS.

  • Gestionnaire – Un gestionnaire Lambda qui accède à votre compartiment GCS. Un gestionnaire peut être destiné aux métadonnées ou aux enregistrements de données.

  • Gestionnaire de métadonnées – Un gestionnaire Lambda qui extrait les métadonnées de votre compartiment GCS.

  • Gestionnaire d’enregistrements – Un gestionnaire Lambda qui extrait les enregistrements de données de votre compartiment GCS.

  • Gestionnaire de composites – Un gestionnaire Lambda qui extrait les métadonnées et les enregistrements de données de votre compartiment GCS.

Types de fichier pris en charge

Le connecteur GCS prend en charge les types de fichiers Parquet et CSV.

Note

Assurez-vous de ne pas placer les fichiers CSV et Parquet dans le même compartiment ou chemin GCS. Cela peut générer une erreur d’exécution lors d’une tentative de lecture des fichiers Parquet au format CSV ou vice versa.

Paramètres

Utilisez les paramètres de cette section pour configurer le connecteur GCS.

Note

Les connecteurs de source de données Athena créés le 3 décembre 2024 et les versions ultérieures utilisent AWS Glue des connexions.

Les noms et définitions des paramètres répertoriés ci-dessous concernent les connecteurs de source de données Athena créés avant le 3 décembre 2024. Elles peuvent être différentes de leurs propriétés de AWS Glue connexion correspondantes. À compter du 3 décembre 2024, utilisez les paramètres ci-dessous uniquement lorsque vous déployez manuellement une version antérieure d'un connecteur de source de données Athena.

  • spill_bucket – Spécifie le compartiment Amazon S3 pour les données qui dépassent les limites des fonctions Lambda.

  • spill_prefix – (Facultatif) Par défaut, il s’agit d’un sous-dossier dans le spill_bucket spécifié appelé athena-federation-spill. Nous vous recommandons de configurer un cycle de vie de stockage Amazon S3 à cet endroit pour supprimer les déversements supérieurs à un nombre de jours ou d’heures prédéterminé.

  • spill_put_request_headers – (Facultatif) Une carte codée au format JSON des en-têtes et des valeurs des demandes pour la demande putObject Amazon S3 utilisée pour le déversement (par exemple, {"x-amz-server-side-encryption" : "AES256"}). Pour les autres en-têtes possibles, consultez le PutObjectmanuel Amazon Simple Storage Service API Reference.

  • kms_key_id – (Facultatif) Par défaut, toutes les données déversées vers Amazon S3 sont chiffrées à l'aide du mode de chiffrement authentifié AES-GCM et d'une clé générée de manière aléatoire. Pour que votre fonction Lambda utilise des clés de chiffrement plus puissantes générées par KMS, comme a7e63k4b-8loc-40db-a2a1-4d0en2cd8331, vous pouvez spécifier l’ID d’une clé KMS.

  • disable_spill_encryption – (Facultatif) Lorsque la valeur est définie sur True, le chiffrement des déversements est désactivé. La valeur par défaut est False afin que les données déversées vers S3 soient chiffrées à l’aide d’AES-GCM, soit à l’aide d’une clé générée de manière aléatoire soit à l’aide de KMS pour générer des clés. La désactivation du chiffrement des déversements peut améliorer les performances, surtout si votre lieu de déversement utilise le chiffrement côté serveur.

  • secret_manager_gcp_creds_name — Le nom du secret AWS Secrets Manager qui contient vos informations d'identification GCS au format JSON (par exemple,). GoogleCloudPlatformCredentials

Configuration de bases de données et de tables dans AWS Glue

La capacité d'inférence de schéma intégrée du connecteur GCS étant limitée, nous vous recommandons de l'utiliser AWS Glue pour vos métadonnées. Les procédures suivantes montrent comment créer une base de données et une table AWS Glue auxquelles vous pouvez accéder depuis Athena.

Création d'une base de données dans AWS Glue

Vous pouvez utiliser la AWS Glue console pour créer une base de données à utiliser avec le connecteur GCS.

Pour créer une base de données dans AWS Glue
  1. Connectez-vous à la AWS Glue console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/glue/.

  2. Dans le volet de navigation, sélectionnez Databases (Bases de données).

  3. Choisissez Ajouter une base de données.

  4. Dans le champ Name (Nom), saisissez le nom de la base de données que vous souhaitez utiliser avec le connecteur GCS.

  5. Pour Emplacement, spécifiezgoogle-cloud-storage-flag. Cet emplacement indique au connecteur GCS que la AWS Glue base de données contient des tables pour les données GCS à interroger dans Athena. Le connecteur reconnaît les bases de données qui présentent cet indicateur dans Athena et ignore les bases de données qui ne le présentent pas.

  6. Choisissez Créer une base de données.

Création d’une table dans AWS Glue

Vous pouvez maintenant créer une table pour la base de données. Lorsque vous créez une AWS Glue table à utiliser avec le connecteur GCS, vous devez spécifier des métadonnées supplémentaires.

Pour créer une table dans la AWS Glue console
  1. Dans le volet de navigation de la AWS Glue console, sélectionnez Tables.

  2. Sur la page Tables, sélectionnez Add table (Ajouter une table).

  3. Sur la page Set table properties (Définir les propriétés de la table), saisissez les informations suivantes.

    • Name (Nom) – Un nom unique pour la table.

    • Database (Base de données) – Sélectionnez la base de données AWS Glue que vous avez créée pour le connecteur GCS.

    • Include path (Inclure le chemin) – Dans la section Data store (Magasin de données), pour Include path (Inclure le chemin), saisissez l’emplacement d’URI pour GCS dont le préfixe est gs:// (par exemple, gs://gcs_table/data/). Si vous disposez d’un ou de plusieurs dossiers de partition, ne les incluez pas dans le chemin.

      Note

      Lorsque vous saisissez le chemin de table non s3://, la console AWS Glue affiche une erreur. Vous pouvez ignorer cette erreur. La création de la table réussira.

    • Data format (Format de données) – Pour Classification, sélectionnez CSV ou Parquet.

  4. Choisissez Suivant.

  5. Sur la page Choose or define schema (Choisir ou définir un schéma), il est vivement recommandé de définir un schéma de table, mais cela n’est pas obligatoire. Si vous ne définissez pas de schéma, le connecteur GCS tente d’en déduire un pour vous.

    Effectuez l’une des actions suivantes :

    • Si vous souhaitez que le connecteur GCS tente de déduire un schéma pour vous, sélectionnez Next (Suivant), puis Create (Créer).

    • Pour définir vous-même un schéma, suivez les étapes décrites dans la section suivante.

Définition d'un schéma de table dans AWS Glue

La définition d'un schéma de table dans AWS Glue nécessite davantage d'étapes, mais vous permet de mieux contrôler le processus de création de table.

Pour définir un schéma pour votre table dans AWS Glue
  1. Sur la page Choose or define schema (Choisir ou définir un schéma), sélectionnez Add (Ajouter).

  2. Dans la boîte de dialogue Add schema entry (Ajouter une entrée de schéma), saisissez un nom de colonne et un type de données.

  3. Pour désigner la colonne en tant que colonne de partition, sélectionnez l’option Set as partition key (Définir en tant que clé de partition).

  4. Sélectionnez Save (Enregistrer) pour enregistrer la colonne.

  5. Sélectionnez Add (Ajouter) pour ajouter une autre colonne.

  6. Lorsque vous avez terminé d’ajouter des colonnes, sélectionnez Next (Suivant).

  7. Sur la page Review and create (Examiner et créer), examinez la table, puis sélectionnez Create (Créer).

  8. Si votre schéma contient des informations de partition, suivez les étapes de la section suivante pour ajouter un modèle de partition aux propriétés de la table dans AWS Glue.

Ajout d'un modèle de partition aux propriétés d'une table dans AWS Glue

Si vos compartiments GCS comportent des partitions, vous devez ajouter le modèle de partition aux propriétés de la table dans AWS Glue.

Pour ajouter des informations de partition aux propriétés de la table AWS Glue
  1. Sur la page de détails de la table que vous avez créée AWS Glue, choisissez Actions, Modifier la table.

  2. Sur la page Edit table (Modifier le table), faites défiler l’écran vers le bas jusqu’à la section Table properties (Propriétés de la table).

  3. Sélectionnez Add (Ajouter) pour ajouter une clé de partition.

  4. Pour Key (Clé), saisissez partition.pattern. Cette clé définit le modèle de chemin de dossier.

  5. Dans le champ Value (Valeur), saisissez un modèle de chemin de dossier tel que StateName=${statename}/ZipCode=${zipcode}/, statename et zipcode entourés par ${} étant des noms de colonne de partition. Le connecteur GCS prend en charge les schémas de partition Hive et non Hive.

  6. Lorsque vous avez terminé, choisissez Save.

  7. Pour afficher les propriétés de la table que vous venez de créer, sélectionnez l’onglet Advanced properties (Propriétés avancées).

À ce stade, vous pouvez accéder à la console Athena. La base de données et la table que vous avez créées peuvent être consultées dans Athena. AWS Glue

Prise en charge du type de données

Les tables suivantes indiquent les types de données pris en charge pour les fichiers CSV et Parquet.

CSV

Nature des données Type de données inféré
Les données ressemblent à un nombre BIGINT
Les données ressemblent à une chaîne VARCHAR
Les données ressemblent à une virgule flottante (flottante, double ou décimale) DOUBLE
Les données ressemblent à une date Horodatage
Données contenant des valeurs true/false (vrai/faux) BOOL

Parquet

PARQUET Athena (flèche)
BINAIRE VARCHAR
BOOLEAN BOOL
DOUBLE DOUBLE
ENUM VARCHAR
FIXED_LEN_BYTE_ARRAY DECIMAL
FLOAT FLOAT (32 bits)
INT32
  1. INT32

  2. DATEDAY (lorsque le type logique de la colonne Parquet est DATE)

INT64
  1. INT64

  2. TIMESTAMP (lorsque le type logique de la colonne Parquet est TIMESTAMP)

INT96 Horodatage
MAP MAP
STRUCT STRUCT
LIST LIST

Autorisations nécessaires

Pour plus de détails sur les politiques IAM requises par ce connecteur, reportez-vous à la section Policies du fichier athena-gcs.yaml. La liste suivante résume les autorisations requises.

  • Amazon S3 write access (Accès en écriture Amazon S3) – Le connecteur nécessite un accès en écriture à un emplacement dans Amazon S3 pour déverser les résultats à partir de requêtes volumineuses.

  • Athena GetQueryExecution — Le connecteur utilise cette autorisation pour échouer rapidement lorsque la requête Athena en amont est terminée.

  • AWS Glue Data Catalog— Le connecteur GCS nécessite un accès en lecture seule au pour AWS Glue Data Catalog obtenir des informations sur le schéma.

  • CloudWatch Journaux : le connecteur a besoin d'accéder aux CloudWatch journaux pour stocker les journaux.

Performances

Lorsque le schéma de la table contient des champs de partition et que la propriété de la table partition.pattern est correctement configurée, vous pouvez inclure le champ de partition dans la clause WHERE de vos requêtes. Pour de telles requêtes, le connecteur GCS utilise les colonnes de partition pour affiner le chemin du dossier GCS et éviter d’analyser des fichiers inutiles dans les dossiers GCS.

Pour les jeux de données Parquet, la sélection d’un sous-ensemble de colonnes permet de réduire la quantité de données analysées. Cela se traduit généralement par un temps d’exécution des requêtes plus court lorsque la projection de colonnes est appliquée.

Pour les jeux de données CSV, la projection de colonnes n’est pas prise en charge et ne réduit pas la quantité de données analysées.

Les clauses LIMIT réduisent la quantité de données analysées, mais si vous ne fournissez pas de prédicat, vous devez vous attendre à ce que les requêtes SELECT dotées d’une clause LIMIT analysent au moins 16 Mo de données. Le connecteur GCS analyse une plus grande quantité de données pour les jeux de données plus volumineux que pour les jeux de données plus petits, indépendamment de la clause LIMIT appliquée. Par exemple, la requête SELECT * LIMIT 10000 analyse une plus grande quantité de données pour un jeu de données sous-jacent plus volumineux que pour un jeu de données sous-jacent plus petit.

Informations de licence

En utilisant ce connecteur, vous reconnaissez l'inclusion de composants tiers, dont la liste se trouve dans le fichier pom.xml de ce connecteur, et vous acceptez les termes des licences tierces respectives fournies dans le fichier LICENSE.txt sur GitHub .com.

Ressources supplémentaires

Pour plus d'informations sur ce connecteur, rendez-vous sur le site correspondant sur GitHub .com.

Rubrique suivante :

HBase

Rubrique précédente :

Google BigQuery
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.