Connecteur Amazon Athena pour Google BigQuery - 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.

Connecteur Amazon Athena pour Google BigQuery

Le connecteur Amazon Athena pour Google BigQuerypermet à Amazon Athena d'SQLexécuter des requêtes sur vos données Google. BigQuery

Prérequis

Limites

  • Les fonctions Lambda ont un délai d’expiration maximal de 15 minutes. Chaque division exécute une requête BigQuery et doit se terminer avec suffisamment de temps pour stocker les résultats afin qu'Athéna puisse les lire. Si le délai imparti à la fonction Lambda expire, la requête échoue.

  • Google BigQuery fait la distinction majuscules/minuscules. Le connecteur tente de corriger le cas des noms de jeux de données, des noms de tables et des projetsIDs. Cette opération est nécessaire, car Athena met en minuscules toutes les métadonnées. Ces corrections font passer de nombreux appels supplémentaires à Google BigQuery.

  • Les types de données binaires ne sont pas pris en charge.

  • En raison de la BigQuery simultanéité de Google et des limites de quotas, le connecteur peut rencontrer des problèmes liés aux limites de quotas Google. Pour éviter ces problèmes, soumettez autant de contraintes BigQuery que possible à Google. Pour plus d'informations sur BigQuery les quotas, consultez la section Quotas et limites dans la BigQuery documentation de Google.

Paramètres

Utilisez les variables d'environnement Lambda de cette section pour configurer le connecteur Google BigQuery .

  • 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) Carte JSON codée des en-têtes de demande et des valeurs pour la putObject demande Amazon S3 utilisée pour le spilling (par exemple,). {"x-amz-server-side-encryption" : "AES256"} Pour les autres en-têtes possibles, consultez PutObjectle Amazon Simple Storage Service API Reference.

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

  • disable_spill_encryption – (Facultatif) Lorsque la valeur est définie sur True, le chiffrement des déversements est désactivé. Par défaut, les données False transmises à S3 sont chiffrées à l'aide de AES GCM -, soit à l'aide d'une clé générée de manière aléatoire, soit 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.

  • gcp_project_id – L’ID du projet (et non le nom du projet) qui contient les jeux de données à partir desquels le connecteur doit lire (par exemple, semiotic-primer-1234567).

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

  • big_query_endpoint — (Facultatif) Le URL point de terminaison privé. BigQuery Utilisez ce paramètre lorsque vous souhaitez accéder BigQuery via un point de terminaison privé.

Divisions et vues

Comme le BigQuery connecteur utilise le BigQuery Storage Read API pour interroger les tables et que le BigQuery Storage API ne prend pas en charge les vues, le connecteur utilise le BigQuery client avec une seule division pour les vues.

Performance

Pour interroger des tables, le BigQuery connecteur utilise le BigQuery Storage ReadAPI, qui utilise un protocole RPC basé qui fournit un accès rapide au stockage BigQuery géré. Pour plus d'informations sur le BigQuery Storage ReadAPI, consultez la section Utiliser le BigQuery Storage Read API pour lire les données des tables dans la documentation de Google Cloud.

La sélection d'un sous-ensemble de colonnes accélère considérablement l'exécution des requêtes et réduit le nombre de données analysées. Le connecteur est sujet à des échecs de requête lorsque la simultanéité augmente, et est généralement un connecteur lent.

Le BigQuery connecteur Google Athena effectue le transfert des prédicats vers le bas pour réduire le nombre de données scannées par la requête. LIMITles ORDER BY clauses, les prédicats simples et les expressions complexes sont transférés vers le connecteur afin de réduire la quantité de données numérisées et le temps d'exécution des requêtes.

LIMITclauses

Une instruction LIMIT N réduit les données analysées par la requête. Grâce à la poussée vers le bas LIMIT N, le connecteur renvoie uniquement des lignes N à Athena.

Requêtes Top N

Une requête Top N spécifie le classement du jeu de résultats et la limite du nombre de lignes renvoyées. Vous pouvez utiliser ce type de requête pour déterminer les valeurs Top N maximales ou Top N minimales pour vos jeux de données. Grâce à la poussée vers le bas Top N, le connecteur renvoie uniquement des lignes N classées à Athena.

Prédicats

Un prédicat est une expression contenue dans la WHERE clause d'une SQL requête qui donne une valeur booléenne et filtre les lignes en fonction de plusieurs conditions. Le BigQuery connecteur Athena Google peut combiner ces expressions et les envoyer directement à Google BigQuery pour améliorer les fonctionnalités et réduire la quantité de données numérisées.

Les opérateurs de BigQuery connecteurs Athena Google suivants prennent en charge le transfert de prédicats :

  • Booléen :AND, OU, NOT

  • Égalité :EQUAL, NOT _EQUAL, _THAN, LESS _ LESS THAN _OR_, _EQUAL, _ GREATER THAN _OR_THAN, GREATER IS_ _, EQUAL _IF, IS_ DISTINCT FROM NULL NULL

  • Arithmétique : ADDSUBTRACT,,MULTIPLY,DIVIDE, MODULUS NEGATE

  • Autres : LIKE _PATTERN, IN

Exemple de poussée combinée vers le bas

Pour améliorer les capacités de requête, combinez les types de poussée vers le bas, comme dans l'exemple suivant :

SELECT * FROM my_table WHERE col_a > 10 AND ((col_a + col_b) > (col_c % col_d)) AND (col_e IN ('val1', 'val2', 'val3') OR col_f LIKE '%pattern%') ORDER BY col_a DESC LIMIT 10;

Requêtes directes

Le BigQuery connecteur Google prend en charge les requêtes directes. Les requêtes passthrough utilisent une fonction de table pour transférer votre requête complète vers la source de données pour exécution.

Pour utiliser des requêtes directes avec Google BigQuery, vous pouvez utiliser la syntaxe suivante :

SELECT * FROM TABLE( system.query( query => 'query string' ))

L'exemple de requête suivant permet de transférer une requête vers une source de données dans Google BigQuery. La requête sélectionne toutes les colonnes de la customer table, limitant les résultats à 10.

SELECT * FROM TABLE( system.query( query => 'SELECT * FROM customer LIMIT 10' ))

Informations de licence

Le projet Amazon Athena Google BigQuery Connector est concédé sous licence Apache-2.0.

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.