Conector para TPC Benchmark DS (TPC-DS) de Amazon Athena
El conector de TPC-DS de Amazon Athena permite que este servicio se comunique con un origen de datos de TPC Benchmark DS generados aleatoriamente para usarlo en evaluaciones comparativas y pruebas de funcionamiento de la federación de Athena. El conector Athena TPC-DS genera una base de datos compatible con TPC-DS en uno de cuatro factores de escala. No recomendamos usar este conector como alternativa a las pruebas de rendimiento de lagos de datos basados en Amazon S3.
Este conector no se puede registrar en el Catálogo de datos de Glue como catálogo federado. Este conector no es compatible con los controles de acceso a datos definidos en Lake Formation a nivel de catálogo, base de datos, tabla, columna, fila y etiqueta. Este conector utiliza Conexiones de Glue para centralizar las propiedades de configuración en Glue.
Requisitos previos
Implemente el conector en su Cuenta de AWS mediante la consola de Athena o AWS Serverless Application Repository. Para obtener más información, consulte Cómo crear una conexión de origen de datos o Uso del AWS Serverless Application Repository para implementar un conector de origen de datos.
Parámetros
Utilice los parámetros de esta sección para configurar el conector de TPC-DS.
nota
Los conectores de orígenes de datos de Athena creados a partir del 3 de diciembre de 2024 utilizan conexiones de AWS Glue.
Los nombres y definiciones de los parámetros que se indican a continuación corresponden a conectores de orígenes de datos de Athena creados antes del 3 de diciembre de 2024. Estos pueden variar respecto a las propiedades de conexión de AWS Glue correspondientes. A partir del 3 de diciembre de 2024, utilice los parámetros que se indican a continuación únicamente al implementar manualmente una versión anterior de un conector de origen de datos de Athena.
-
spill_bucket: especifica el bucket de Amazon S3 para los datos que superen los límites de la función de Lambda.
-
spill_prefix: (opcional) de forma predeterminada, se establece una subcarpeta en la carpeta especificada
spill_bucket
llamadaathena-federation-spill
. Le recomendamos configurar un ciclo de vida de almacenamiento de Amazon S3 en esta ubicación para eliminar vertidos de más de un número predeterminado de días u horas. -
spill_put_request_headers: (opcional) un mapa codificado en JSON de encabezados y valores de solicitudes para la solicitud
putObject
de Amazon S3 que se usa para el vertidos (por ejemplo,{"x-amz-server-side-encryption" : "AES256"}
). Para ver otros encabezados posibles, consulte PutObject en la referencia de la API de Amazon Simple Storage Service. -
kms_key_id: (opcional) de forma predeterminada, los datos que se vierten a Amazon S3 se cifran mediante el modo de cifrado autenticado AES-GCM y una clave generada aleatoriamente. Para que la función de Lambda use claves de cifrado más seguras generadas por KMS, como
a7e63k4b-8loc-40db-a2a1-4d0en2cd8331
, puede especificar un ID de clave de KMS. -
disable_spill_encryption: (opcional) cuando se establece en
True
, desactiva el cifrado del vertido. El valor predeterminado esFalse
, de modo que los datos que se vierten a S3 se cifran mediante AES-GCM, ya sea mediante una clave generada aleatoriamente o KMS para generar claves. La desactivación del cifrado de vertido puede mejorar el rendimiento, especialmente si su ubicación de vertido usa cifrado del servidor.
Prueba de bases de datos y tablas
El conector de TPC-DS de Athena genera una base de datos compatible con TPC-DS en uno de cuatro factores de escala: tpcds1
, tpcds10
, tpcds100
, tpcds250
o tpcds1000
.
Resumen de tablas
Para obtener una lista completa de las tablas y columnas de datos de prueba, ejecute las consultas SHOW
TABLES
o DESCRIBE TABLE
. Se proporciona el siguiente resumen de tablas para mayor comodidad.
-
call_center
-
catalog_page
-
catalog_returns
-
catalog_sales
-
cliente
-
customer_address
-
customer_demographics
-
date_dim
-
dbgen_version
-
household_demographics
-
income_band
-
inventario
-
elemento
-
promotion
-
reason
-
ship_mode
-
almacenar
-
store_returns
-
store_sales
-
time_dim
-
almacén
-
web_page
-
web_returns
-
web_sales
-
web_site
Para las consultas de TPC-DS que sean compatibles con este esquema y datos generados, consulte el directorio athena-tpcds/src/main/resources/queries/
Consulta de ejemplo
El siguiente ejemplo de consulta SELECT
revisa en el catálogo de tpcds
los datos demográficos de clientes de condados específicos.
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
Permisos necesarios
Para obtener información completa sobre las políticas de IAM que requiere este conector, consulte la sección Policies
del archivo athena-tpcds.yaml
-
Acceso de escritura a Amazon S3: el conector requiere acceso de escritura a una ubicación de Amazon S3 para volcar los resultados de consultas de gran tamaño.
-
Athena GetQueryExecution: el conector usa este permiso para fallar rápidamente cuando finaliza la consulta ascendente de Athena.
Rendimiento
El conector de TPC-DS de Athena intenta paralelizar las consultas en función del factor de escala que elija. La inserción de predicados se lleva a cabo dentro de la función de Lambda.
Información sobre licencias
El proyecto de conector de TPC-DS de Amazon Athena está cubierto por la Licencia de Apache-2.0
Recursos adicionales
Para obtener más información acerca de este conector, consulte el sitio correspondiente