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 TPC Benchmark DS (TPC-DS)
Le connecteur Amazon Athena pour TPC-DS permet à Amazon Athena de communiquer avec une source de données TPC Benchmark DS générées de manière aléatoire et destinées à être utilisées pour la définition de points de référence et les tests fonctionnels d’Athena Federation. Le connecteur TPC-DS d'Athena génère une base de données conforme TPC-DS à l'un des quatre facteurs d'échelle. Nous ne recommandons pas l’utilisation de ce connecteur comme alternative aux tests de performance des lacs de données basés sur Amazon S3.
Prérequis
Déployez le connecteur sur votre Compte AWS à l’aide de la console Athena ou du AWS Serverless Application Repository. Pour plus d’informations, consultez Déploiement d'un connecteur de source de données ou Utilisation de AWS Serverless Application Repository pour déployer un connecteur de source de données.
Paramètres
Utilisez les variables d’environnement Lambda de cette section pour configurer le connecteur TPC-DS.
-
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 estFalse
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.
Tester des bases de données et des tables
Le connecteur TPC-DS d’Athena génère une base de données conforme TPC-DS à l’un des quatre facteurs d’échelle tpcds1
, tpcds10
, tpcds100
, tpcds250
ou tpcds1000
.
Résumé des tables
Pour obtenir une liste complète des tables et des colonnes de données de test, exécutez les requêtes SHOW
TABLES
ou DESCRIBE TABLE
. Le résumé des tables suivant est fourni pour des raisons de commodité.
-
call_center
-
catalog_page
-
catalog_returns
-
catalog_sales
-
customer
-
customer_address
-
customer_demographics
-
date_dim
-
dbgen_version
-
household_demographics
-
income_band
-
Inventory
-
item
-
promotion
-
raison
-
ship_mode
-
stocker
-
store_returns
-
store_sales
-
time_dim
-
warehouse
-
web_page
-
web_returns
-
web_sales
-
web_site
Pour les requêtes TPC-DS compatibles avec le schéma et les données générés, consultez le répertoire athena-tpcds/src/main/resources/queries/
Exemple de requête
Les exemples de requêtes SELECT
suivants interrogent le catalogue tpcds
pour la démographie des clients dans des comtés spécifiques.
SELECT cd_gender, cd_marital_status, cd_education_status, count(*) cnt1, cd_purchase_estimate, count(*) cnt2, cd_credit_rating, count(*) cnt3, cd_dep_count, count(*) cnt4, cd_dep_employed_count, count(*) cnt5, cd_dep_college_count, count(*) cnt6 FROM "lambda:tpcds".tpcds1.customer c, "lambda:tpcds".tpcds1.customer_address ca, "lambda:tpcds".tpcds1.customer_demographics WHERE c.c_current_addr_sk = ca.ca_address_sk AND ca_county IN ('Rush County', 'Toole County', 'Jefferson County', 'Dona Ana County', 'La Porte County') AND cd_demo_sk = c.c_current_cdemo_sk AND exists(SELECT * FROM "lambda:tpcds".tpcds1.store_sales, "lambda:tpcds".tpcds1.date_dim WHERE c.c_customer_sk = ss_customer_sk AND ss_sold_date_sk = d_date_sk AND d_year = 2002 AND d_moy BETWEEN 1 AND 1 + 3) AND (exists(SELECT * FROM "lambda:tpcds".tpcds1.web_sales, "lambda:tpcds".tpcds1.date_dim WHERE c.c_customer_sk = ws_bill_customer_sk AND ws_sold_date_sk = d_date_sk AND d_year = 2002 AND d_moy BETWEEN 1 AND 1 + 3) OR exists(SELECT * FROM "lambda:tpcds".tpcds1.catalog_sales, "lambda:tpcds".tpcds1.date_dim WHERE c.c_customer_sk = cs_ship_customer_sk AND cs_sold_date_sk = d_date_sk AND d_year = 2002 AND d_moy BETWEEN 1 AND 1 + 3)) GROUP BY cd_gender, cd_marital_status, cd_education_status, cd_purchase_estimate, cd_credit_rating, cd_dep_count, cd_dep_employed_count, cd_dep_college_count ORDER BY cd_gender, cd_marital_status, cd_education_status, cd_purchase_estimate, cd_credit_rating, cd_dep_count, cd_dep_employed_count, cd_dep_college_count LIMIT 100
Autorisations nécessaires
Pour plus de détails sur les politiques IAM requises par ce connecteur, reportez-vous à la section Policies
du fichier athena-tpcds.yaml
-
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.
Performance
Le connecteur Athena TPC-DS tente de paralléliser les requêtes en fonction du facteur d’échelle que vous choisissez. La poussée vers le bas de prédicat est effectuée au sein de la fonction Lambda.
Informations de licence
Le projet de connecteur TPC-DS Amazon Athena est concédé sous licence dans le cadre de la licence Apache-2.0
Ressources supplémentaires
Pour plus d'informations sur ce connecteur, rendez-vous sur le site correspondant