Connecteur DS (TPC-DS) TPC de référence Amazon Athena - 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 DS (TPC-DS) TPC de référence Amazon Athena

Le connecteur Amazon Athena TPC -DS permet à Amazon Athena de communiquer avec une source de données TPC Benchmark DS générées aléatoirement à des fins d'analyse comparative et de test fonctionnel d'Athena Federation. Le connecteur Athena TPC -DS génère une base de données conforme à la norme TPC -DS selon 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.

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.

Prérequis

Paramètres

Utilisez les paramètres de cette section pour configurer le connecteur TPC -DS.

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) 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 identifiant 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.

Tester des bases de données et des tables

Le connecteur Athena TPC -DS génère une base de données compatible TPC -DS selon l'un des quatre facteurs d'échelletpcds1,,tpcds10, tpcds100 ou. tpcds250 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é.

  1. call_center

  2. catalog_page

  3. catalog_returns

  4. catalog_sales

  5. customer

  6. customer_address

  7. customer_demographics

  8. date_dim

  9. dbgen_version

  10. household_demographics

  11. income_band

  12.  Inventory

  13. item

  14. promotion

  15. raison

  16. ship_mode

  17. stocker

  18. store_returns

  19. store_sales

  20. time_dim

  21. warehouse

  22. web_page

  23. web_returns

  24. web_sales

  25. web_site

Pour TPC les requêtes -DS compatibles avec le schéma et les données générés, consultez le répertoire athena-tpcds/src/main/resources/queries/sur. GitHub

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 IAM politiques requises par ce connecteur, consultez la Policies section du fichier athena-tpcds.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.

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 Amazon Athena TPC -DS est concédé sous licence Apache-2.0.

Ressources supplémentaires

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