Las empresas modernas enfrentan desafíos cada vez mayores a la hora de extraer información procesable de vastos lagos de datos y lagos que abarcan petabytes de datos estructurados y no estructurados. Los análisis tradicionales requieren experiencia técnica especializada en SQL, modelado de datos y herramientas de inteligencia empresarial, lo que crea cuellos de botella que ralentizan la toma de decisiones en el comercio minorista, los servicios financieros, la atención sanitaria, los viajes y la hostelería, la fabricación y muchos más sectores. Esta arquitectura demuestra cómo el asistente de inteligencia artificial de Amazon Quick transforma el análisis de datos en una capacidad de autoservicio. Muestra cómo permitir a los usuarios empresariales consultar conjuntos de datos estructurados complejos y combinarlos con datos no estructurados para encontrar información valiosa para mejorar sus resultados comerciales a través de interfaces intuitivas de lenguaje natural.
Para demostrar la funcionalidad, construimos una casa en el lago utilizando los conjuntos de datos de TPC-H como base. Esta arquitectura integrada aprovecha Amazon Simple Storage Service (Amazon S3) como almacenamiento, Amazon SageMaker y AWS Glue para Lakehouse, Amazon Athena para consultas SQL sin servidor en múltiples formatos de almacenamiento (S3 Table, Iceberg y Parquet) y múltiples funciones de Quick para crear paneles y agentes de IA conversacionales que brindan acceso en lenguaje natural a información valiosa sobre los datos. A través de bases de conocimiento integradas que utilizan espacios de Amazon Quick, esta solución democratiza el acceso a los datos de Lakehouse para los usuarios empresariales, al tiempo que preserva la seguridad de nivel empresarial, los marcos de gobernanza y la escalabilidad necesaria para la toma de decisiones moderna basada en datos en toda la organización.
Descripción general de la solución
El siguiente diagrama muestra el diseño general y el flujo de datos correspondiente que implementamos como parte de esta publicación de blog.
Figura 1: Diagrama de diseño general Consulte los siguientes pasos para conocer el flujo de datos detallado de un extremo a otro y las capacidades de interacción del usuario.
Ingestión de fuente de datos: datos estructurados TPC-H sirve como fuente de datos principal y contiene conjuntos de datos de referencia almacenados en formato de base de datos relacional. AWS alojó los datos de TPC-H en el depósito s3 disponible públicamente (s3://redshift-downloads/TPC-H/2.18/100GB). Carga de datos: Amazon Athena realiza la primera capa de consulta, ejecutando consultas SQL sin servidor contra los datos estructurados de TPC-H para extraer, preparar datos para su procesamiento, cargar datos en S3 y crear el catálogo correspondiente en Glue. Capa de almacenamiento multiformato: para ilustrar la versatilidad de Data Lake y Lakehouse, guardamos los datos en tres formatos de almacenamiento optimizados: Amazon S3 -CSV: utilice una tabla externa para crear una tabla Athena basada en archivos CSV existentes. Amazon S3 (Apache Iceberg-parquet): formato de tabla compatible con ACID que permite viajes en el tiempo y evolución de esquemas. Amazon S3 Table: Amazon S3 Tables ofrece el primer almacén de objetos en la nube con compatibilidad integrada con Apache Iceberg y agiliza el almacenamiento de datos tabulares a escala. Catalogación de metadatos: AWS Glue Catalog indexa los tres formatos de almacenamiento, creando una capa de metadatos unificada que permite realizar consultas sin problemas en diferentes formatos de datos. Capa de consulta de Lakehouse: utilizamos las consultas SQL de Amazon Athena en todos los formatos de almacenamiento (S3 Table, Iceberg y Parquet) utilizando los metadatos de Glue Catalog, lo que proporciona una interfaz de consulta unificada. Canal de inteligencia empresarial: los datos estructurados de TPC-H fluyen hacia Amazon Quick, que se integra con Quick Sight para crear: Conjunto de datos: utilizamos la conexión de Amazon Athena desde Amazon Quick para extraer datos estructurados y cargarlos en el conjunto de datos Quick SPICE (motor de cálculo en memoria, paralelo y súper rápido) Tema: dominios de datos organizados para el contexto empresarial Panel de control usando Q: visualizaciones interactivas con capacidades de consulta en lenguaje natural para crear el panel y publicarlo Mejora del conocimiento de IA: paralelo a los datos estructurados flujo, un rastreador web para especificaciones TPC-H ingiere datos no estructurados (documentación, especificaciones) y los introduce en bases de conocimiento para proporcionar comprensión contextual. Capa de inteligencia artificial conversacional: las bases de conocimiento impulsan los espacios de Amazon Quick (entornos colaborativos), que a su vez permiten a los agentes de chat de Amazon Quick conocimiento contextual y conocimiento del dominio para interacciones en lenguaje natural. Acceso del usuario final: los usuarios interactúan con el sistema a través de dos interfaces principales: Panel de control Uso de Q: análisis visual y autoservicio Business Intelligence Chat Agent: IA conversacional para exploración de datos en lenguaje natural
Requisito previo
Antes de comenzar, asegúrese de tener los siguientes requisitos previos:
Preparación de datos para Lakehouse/Data Lake
En esta sección, imitaremos muchas de las características del lago de datos trabajando con tablas externas, que permiten consultar datos almacenados en Amazon S3 sin cargarlos en una capa de almacenamiento administrado. Exploraremos tablas de formato de tabla abierta (OTF) utilizando Apache Iceberg para considerar posibles tablas compatibles con transacciones ACID. Las tablas S3 administradas por Amazon se aprovecharán para mostrar cómo Amazon admite de forma nativa la administración de tablas compatibles con Iceberg directamente dentro de S3, simplificando la arquitectura Lakehouse a escala. A lo largo de estos ejercicios, utilizaremos el conjunto de datos TPC-H estándar de la industria, una carga de trabajo de referencia que representa un modelo de datos comerciales realista con pedidos, clientes y líneas de pedido para garantizar que nuestros ejemplos sean significativos y reproducibles.
Aprovecharemos Amazon Athena para la preparación de datos. Si es la primera vez que utiliza Amazon Athena, deberá crear un depósito de Amazon S3 para almacenar los resultados de su consulta. Athena utiliza S3 como ubicación de salida antes de poder ejecutar consultas. Siga la guía de introducción oficial de AWS para completar esta configuración única: Introducción a Amazon Athena. Como alternativa, puede utilizar la función de resultados de consultas administradas.
Consejo: Elija un depósito de S3 en la misma región de AWS que sus fuentes de datos para evitar la latencia y los costos de transferencia de datos entre regiones.
Una vez que su ubicación de salida S3 esté configurada, estará listo para continuar.
Crear la base de datos de pegamento
Comience creando una base de datos de Glue que servirá como catálogo de metadatos para todas sus tablas usando Athena. Ejecute el siguiente SQL en el editor de consultas de Athena:
CREAR BASE DE DATOS SI NO EXISTE blog_qs_athena_tpc_h_db_sql COMENTARIO 'Base de datos TPC-H';
Figura 2: Creación de base de datos blog_qs_athena_tpc_h_db_sql
Qué hace esto: registra una base de datos lógica en el catálogo de datos de AWS Glue, que Athena utiliza para organizar y descubrir sus tablas. Las tablas creadas en pasos posteriores residirán en esta base de datos.
Crear una tabla externa en S3
A continuación, cree una tabla externa que apunte al conjunto de datos del "cliente" de TPC-H almacenado en un depósito público de S3 ('s3://redshift-downloads/TPC-H/2.18/100GB/customer/'). Las tablas externas en Athena no mueven ni copian datos: los consultan directamente desde S3, lo que lo convierte en una forma rápida y rentable de explorar datos sin procesar.
CREAR TABLA EXTERNA SI NO EXISTE blog_qs_athena_tpc_h_db_sql.customer_csv (C_CUSTKEY INT, C_NAME STRING, C_ADDRESS STRING, C_NATIONKEY INT, C_PHONE STRING, C_ACCTBAL DOUBLE, C_MKTSEGMENT STRING, C_COMMENT STRING) FORMATO DE FILA CAMPOS DELIMITADOS TERMINADOS POR '|' ALMACENADO COMO UBICACIÓN DEL ARCHIVO DE TEXTO 's3://redshift-downloads/TPC-H/2.18/100GB/customer/' TBLPROPERTIES ('clasificación' = 'csv');
Verifique la tabla obteniendo una vista previa de algunas filas:
SELECCIONAR * DE blog_qs_athena_tpc_h_db_sql.customer_csv LÍMITE 10;
Figura 3: verificar blog_qs_athena_tpc_h_db_sql.customer_csv
Crear una tabla Apache Iceberg
A continuación, imitaremos la tabla utilizando Apache Iceberg, que es un formato de tabla abierta que incorpora transacciones ACID, viajes en el tiempo y evolución de particiones a su lago de datos, lo que lo hace ideal para cargas de trabajo de nivel de producción. Este es un proceso de tres pasos.
Paso 1: cree el depósito S3: antes de escribir consultas SQL, configure su capa de almacenamiento. Puede crear un depósito de S3 mediante la Consola de administración de AWS o la CLI de AWS.
Para este blog, estoy usando el depósito S3: amzn-s3-demo-bucket
Nota: El nombre de su depósito será diferente, ya que los nombres de los depósitos de S3 deben ser únicos globalmente en todas las cuentas de AWS.
Paso 2: Cree una tabla CSV externa para pedidos: primero, registre los datos de pedidos sin procesar como una tabla externa en su formato original, en nuestro caso es CSV.
CREAR TABLA EXTERNA SI NO EXISTE blog_qs_athena_tpc_h_db_sql.orders_csv ( O_ORDERKEY BIGINT, O_CUSTKEY BIGINT, O_ORDERSTATUS STRING, O_TOTALPRICE DOUBLE, O_ORDERDATE STRING, O_ORDERPRIORITY STRING, O_CLERK STRING, O_SHIPPRIORITY INT, O_COMMENT CUERDA) FORMATO DE FILA SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' CON SERDEPROPERTIES ('field.delim' = '|') UBICACIÓN 's3://redshift-downloads/TPC-H/2.18/100GB/orders/' TBLPROPERTIES ('clasificación' = 'csv');
Verifiquemos el conjunto de datos.
SELECCIONAR * DE blog_qs_athena_tpc_h_db_sql.orders_csv LÍMITE 10;
Figura 4: verificar blog_qs_athena_tpc_h_db_sql.orders_csv
Paso 3: Cree la tabla Iceberg usando CREATE TABLE AS SELECT (CTAS): use CREATE TABLE AS SELECT (CTAS) para crear una tabla Iceberg autoadministrada en formato Parquet, particionada por fecha de pedido. Cargaremos un rango de fechas de muestra O_ORDERDATE ENTRE '1998-06-01' Y '1998-12-31'.
CREAR TABLA blog_qs_athena_tpc_h_db_sql.orders_iceberg CON ( table_type="ICEBERG", format="PARQUET", is_external = false, particionamiento = ARRAY['o_orderdate'], ubicación = 's3://amzn-s3-demo-bucket/tpch_iceberg/orders/') COMO SELECCIONAR * DESDE blog_qs_athena_tpc_h_db_sql.orders_csv DONDE O_ORDERDATE ENTRE '1998-06-01' Y '1998-12-31';
Verifique los datos de la tabla Iceberg:
SELECCIONAR * DE blog_qs_athena_tpc_h_db_sql.orders_iceberg LÍMITE 10;
Figura 5: verificar blog_qs_athena_tpc_h_db_sql.orders_iceberg
Crear una tabla de Amazon S3
Las tablas de Amazon S3 son tablas totalmente administradas y diseñadas específicamente con soporte integrado para Apache Iceberg. Ofrece un rendimiento de consultas de alto rendimiento sin la sobrecarga de administrar las operaciones de mantenimiento, como la compactación, la administración de instantáneas y la eliminación de archivos sin referencia. Este es un proceso de tres pasos.
Paso 1: Cree el depósito de tabla y el espacio de nombres de S3: navegue hasta S3 → Depósitos de tabla en la consola de AWS para crear el depósito blog-qs-athena-tpc-h-db-sql-s3-table-mar-3 y el espacio de nombres. Como alternativa, utilice la AWS CLI para la configuración mediante script.
Nota: Puede ignorar estos pasos si ya tiene un depósito de tabla S3 y un espacio de nombres disponibles.
Figura 6: Crear un depósito de tablas S3 blog-qs-athena-tpc-h-db-sql-s3-table-mar-3
Ahora creemos un espacio de nombres blog_qs_athena_tpc_h_namespace asociado con el depósito de la tabla S3 anterior haciendo clic en blog-qs-athena-tpc-h-db-sql-s3-table-mar-3.
Figura 7: Crear tabla S3 Espacio de nombres blog_qs_athena_tpc_h_namespace
Paso 2: Crear una tabla CSV externa para elementos de línea: utilice Athena para registrar el conjunto de datos de elementos de línea de TPC-H como una tabla externa:
CREAR TABLA EXTERNA SI NO EXISTE blog_qs_athena_tpc_h_db_sql.lineitem_csv (L_ORDERKEY BIGINT, L_PARTKEY BIGINT, L_SUPPKEY BIGINT, L_LINENUMBER INT, L_QUANTITY DECIMAL(15,2), L_EXTENDEDPRICE DECIMAL(15,2), L_DISCOUNT DECIMAL(15,2), L_TAX DECIMAL(15,2), L_RETURNFLAG STRING, L_LINESTATUS STRING, L_SHIPDATE STRING, L_COMMITDATE STRING, L_RECEIPTDATE STRING, L_SHIPINSTRUCT STRING, L_SHIPMODE STRING, L_COMMENT STRING) FORMATO DE FILA CAMPOS DELIMITADOS TERMINADOS POR '|' ALMACENADO COMO UBICACIÓN DEL ARCHIVO DE TEXTO 's3://redshift-downloads/TPC-H/2.18/100GB/lineitem/' TBLPROPERTIES ('skip.header.line.count' = '0');
Vista previa de los datos:
SELECCIONAR * DE blog_qs_athena_tpc_h_db_sql.lineitem_csv LÍMITE 10;
Figura 8: verificar datos blog_qs_athena_tpc_h_db_sql.lineitem_csv
Paso 3: Cree la tabla de tablas S3 usando CTAS. Finalmente, cree tablas S3 con formato Parquet en su nuevo catálogo usando CTAS. Filtramos un rango de fechas de muestra para limitar la carga de datos inicial según CAST(L_SHIPDATE AS DATE) BETWEEN DATE('1998-06-01') AND DATE('1998-12-31').
Nota: Asegúrese de utilizar s3tablescatalog para ejecutar las siguientes consultas como se muestra en la siguiente captura de pantalla.
CREAR TABLA lineitem_csv_s3_table CON (formato="PARQUET") COMO SELECCIONAR * DESDE AwsDataCatalog.blog_qs_athena_tpc_h_db_sql.lineitem_csv DONDE CAST(L_SHIPDATE COMO FECHA) ENTRE LA FECHA('1998-06-01') Y LA FECHA('1998-12-31');
Verifique el resultado:
SELECCIONAR * DE lineitem_csv_s3_table LÍMITE 10;
Figura 9: verificar línea de datositem_csv_s3_table
Preparación de conjuntos de datos en Amazon Quick
Sus tablas de Athena están registradas y consultables. Ahora es el momento de incorporar esos datos a Amazon Quick: conectarlos, darles forma y hacer que hablen el idioma de su empresa. Esta sección recorre cada paso: conectarse a la fuente de datos de Athena, crear conjuntos de datos e importarlos a SPICE, unir los tres conjuntos de datos de SPICE, configurar un tema rápido para preguntas y respuestas en lenguaje natural, crear y publicar un panel con Amazon Q y configurar la base de conocimientos que impulsa la capa agente.
Creación de fuentes de datos
Antes de que Amazon Quick pueda consultar sus tres tablas en su lago de datos, debe crear una única conexión de origen de datos de Athena. Puede acceder a las tres tablas (la tabla externa CSV, la tabla Iceberg Parquet autoadministrada y la tabla Iceberg administrada por S3 Tables) utilizando la misma conexión porque las tres están catalogadas en AWS Glue Data Catalog y se puede acceder a ellas a través del mismo grupo de trabajo de Athena.
Pasos:
En Amazon Quick, navegue hasta Conjuntos de datos → Fuentes de datos → Crear fuente de datos. Seleccione Amazon Athena como tipo de fuente de datos. Introduzca un nombre descriptivo (por ejemplo, tpch-lakehouse-athena). Seleccione el grupo de trabajo de Athena que utiliza su equipo para consultas de producción. El uso de un grupo de trabajo dedicado impone controles de costos de consultas y separa el tráfico de consultas rápidas de otras cargas de trabajo. Elija Validar conexión. Quick confirma que puede llegar a Athena y al catálogo de datos de Glue. Seleccione Crear fuente de datos.
Creación de conjuntos de datos e ingesta de SPICE
Con la fuente de datos de Athena creada, cree un conjunto de datos rápido por tabla. Importe cada conjunto de datos a SPICE (el motor de cálculo en memoria, paralelo y ultrarrápido de Quick) para ofrecer un rendimiento de consultas inferior a un segundo en paneles y flujos de trabajo agentes, independientemente del tamaño de los datos subyacentes de S3.
Permisos de formación de lagos
Antes de crear conjuntos de datos, asegúrese de contar con los permisos de acceso a datos adecuados:
Si Lake Formation no está habilitado: los permisos se administran en el nivel de función de servicio rápido a través del control de acceso S3 estándar basado en IAM. Asegúrese de que la función de servicio rápido (por ejemplo, aws-quicksight-service-role-v0) tenga permisos de lectura de IAM para los depósitos de S3 y los recursos de Athena relevantes. No se requiere ninguna configuración adicional de Lake Formation. Si Lake Formation está habilitado: Lake Formation actúa como la capa de autorización central, anulando los permisos estándar de S3 basados en IAM. Otorgue permisos directamente al autor de Amazon Quick o al rol de IAM: abra la consola de AWS Lake Formation. Elija Permisos → Permisos de datos → Conceder. Seleccione los usuarios y grupos de SAML. Introduzca ARN de usuario rápido. Elija recursos del catálogo de datos con nombre.
Figura 10: Permisos de formación de lagos
Elija las bases de datos, tablas y columnas necesarias. Otorgue SELECT como mínimo; agregue DESCRIBE para la creación de conjuntos de datos. Repita para cada usuario o rol que requiera acceso.
Para obtener instrucciones paso a paso, consulte Analice sus datos de forma segura con AWS Lake Formation y Amazon Quick Sight y Acceso a tablas de Amazon S3 a través de Amazon Quick con permisos de AWS Lake Formation.
Específicamente para las tablas S3, la función de servicio rápido también requiere una política en línea de pegamento adicional: GetCatalog para acceder al catálogo s3tablescatalog no predeterminado; consulte Visualización de datos de tablas S3 con Amazon Quick para obtener la declaración de política exacta.
Conjunto de datos 1: tabla externa CSV (customer_csv)
Desde la fuente de datos de Athena, elija Crear conjunto de datos. Seleccione la base de datos de Glue y elija la tabla (por ejemplo, customer_csv). Seleccione Editar/Vista previa de datos para abrir la experiencia de preparación de datos. Verifique los tipos de datos de las columnas y realice los cambios necesarios. Nota: Si está utilizando la nueva experiencia de preparación de datos, haga clic en la pestaña Vista previa para revisar los datos antes de continuar. Establezca el modo de consulta en SPICE. Asigne al conjunto de datos el nombre Cliente TPC-H (CSV) y seleccione Guardar y publicar.
Conjunto de datos 2: Parquet Iceberg autogestionado (orders_iceberg)
Desde la misma fuente de datos de Athena, elija Crear conjunto de datos. Seleccione la base de datos de Glue y elija la tabla (por ejemplo, pedidos_iceberg). Seleccione Editar/Vista previa de datos para abrir la experiencia de preparación de datos. Verifique los tipos de datos de las columnas y realice los cambios necesarios. Nota: Si está utilizando la nueva experiencia de preparación de datos, haga clic en la pestaña Vista previa para revisar los datos antes de continuar. Establezca el modo de consulta en SPICE. Asigne al conjunto de datos el nombre TPC-H Orders (Iceberg) y seleccione Guardar y publicar.
Conjunto de datos 3: Iceberg administrado por tablas S3 (lineitem_csv_s3_table)
Las tablas S3 se almacenan en un catálogo de AWS Glue no predeterminado (s3tablescatalog), no en el AWSDataCatalog estándar. Debido a esto, el navegador de tablas visuales rápido no puede mostrar tablas S3; no aparecen en el panel "Elija su tabla". Debe utilizar SQL personalizado para consultar datos de tablas S3 y crear un conjunto de datos rápido a partir de ellos.
Desde la misma fuente de datos de Athena, elija Crear conjunto de datos. Seleccione Usar SQL personalizado. Seleccione Editar/Vista previa de datos para abrir la experiencia de preparación de datos. Ingrese una consulta SQL de Athena que haga referencia al catálogo de tablas S3 usando la sintaxis “s3tablescatalog/”.”””: SELECT * FROM "s3tablescatalog/blog-qs-athena-tpc-h-db-sql-s3-table-mar-3"."blog_qs_athena_tpc_h_namespace"."lineitem_csv_s3_table" Elija Aplicar. Quick ejecuta la consulta a través de Athena y obtiene una vista previa del conjunto de resultados.
Figura 11: Vista previa de los datos de la tabla S3 desde Quick
Verifique los tipos de datos de las columnas y realice los cambios necesarios. Establezca el modo de consulta en SPICE. Asigne al conjunto de datos el nombre TPC-H Lineitem (Tablas S3) y seleccione Guardar y publicar.
Nota: Este requisito de SQL personalizado se aplica específicamente a las tablas S3 porque residen en un catálogo secundario de Glue registrado por separado del AWSDataCatalog predeterminado. Las tablas CSV e Iceberg del catálogo estándar son visibles en el navegador de tablas y no requieren SQL personalizado.
Unir conjuntos de datos
El esquema TPC-H es un esquema en estrella por diseño y la experiencia de preparación de datos visuales de Amazon Quick admite la unión de conjuntos de datos directamente en la interfaz de usuario. En esta solución, uniremos previamente las tres tablas en Athena utilizando SQL personalizado e ingeriremos el resultado unificado directamente en SPICE como un único conjunto de datos plano. Esto elimina por completo la restricción de tamaño de la tabla secundaria de Quick y delega la unión a Athena, que maneja tablas de diferentes escalas.
Nota sobre el límite de JOIN entre fuentes: si sus tablas secundarias (orders_iceberg + customer_csv) son lo suficientemente pequeñas como para caber en menos de 1 GB combinados, puede realizar la unión dentro de la experiencia de preparación de datos visuales de Quick abriendo primero la tabla más grande (convirtiéndola en la principal) y agregando las tablas más pequeñas como uniones secundarias. Para factores de escala TPC-H grandes donde domina la tabla de elementos de línea, el enfoque recomendado de unión previa de Athena que aparece a continuación es la ruta recomendada.
Pasos:
Desde la fuente de datos de Athena, elija Crear conjunto de datos. Seleccione Usar SQL personalizado. Seleccione Editar/Vista previa de datos para abrir la experiencia de preparación de datos. Ingrese la siguiente consulta SQL de Athena, que une las tres tablas en el catálogo predeterminado de Glue (blog_qs_athena_tpc_h_db_sql) y el catálogo no predeterminado de tablas S3 (s3tablescatalog): SELECT c.c_custkey, c.c_name, c.c_mktsegment, c.c_nationkey, o.o_orderkey, o.o_orderdate, o.o_orderstatus, o.o_totalprice, o.o_orderpriority, l.l_linenumber, l.l_partkey, l.l_suppkey, l.l_quantity, l.l_extendedprice, l.l_discount, l.l_shipmode, l.l_returnflag FROM "s3tablescatalog/blog-qs-athena-tpc-h-db-sql-s3-table-mar-3"."blog_qs_athena_tpc_h_namespace"."lineitem_csv_s3_table" l INNER JOIN "blog_qs_athena_tpc_h_db_sql"."orders_iceberg" o ON l.l_orderkey = o.o_orderkey INNER JOIN "blog_qs_athena_tpc_h_db_sql"."customer_csv" c ON o.o_custkey = c.c_custkey;
La consulta une las tres tablas utilizando las relaciones de clave externa TPC-H:
lineitem_csv_s3_table.l_orderkey = pedidos_iceberg.o_orderkey (Artículo de línea → Pedidos) pedidos_iceberg.o_custkey = customer_csv.c_custkey (Pedidos → Cliente)
Consejo: Utilice comillas dobles explícitas alrededor de los nombres de la base de datos y de las tablas en Athena SQL; esto ayuda a evitar errores de análisis causados por guiones u otros caracteres especiales en los nombres de los identificadores, particularmente para las rutas del catálogo de tablas S3.
Elija Aplicar. Quick ejecuta la consulta a través de Athena y obtiene una vista previa del conjunto de resultados unificado. Verifique los tipos de datos de las columnas y realice los cambios necesarios. Oculte columnas de claves internas (c_custkey, o_custkey, o_orderkey, l_orderkey) que los usuarios empresariales no necesitan ver en los paneles o en las preguntas y respuestas.
Figura 12: Vista previa de datos desnormalizados desde Quick
Establezca el modo de consulta en SPICE. Nombra el conjunto de datos TPC-H Unificado (Unido) y selecciona Guardar y publicar y espera a que el estado del conjunto de datos SPICE cambie a "Listo" (tiempo esperado de 2 a 3 minutos).
El conjunto de datos unido es ahora un conjunto de datos SPICE único y desnormalizado que combina datos de clientes, pedidos y líneas de pedido en los tres formatos de tabla (CSV externo, Iceberg Parquet autoadministrado e Iceberg administrado por S3 Tables) listo para la creación de paneles y preguntas y respuestas en lenguaje natural.
Configuración rápida de temas
Un tema rápido es la capa semántica que traduce los nombres de las columnas en conceptos comerciales. Cuando un usuario pregunta "¿Cuáles fueron los ingresos totales del último trimestre por segmento de clientes?", el tema asigna los ingresos a l_extendedprice, "último trimestre" a un filtro de fecha en o_orderdate y el segmento de clientes a c_mktsegment. Sin un tema bien configurado, las consultas en lenguaje natural arrojan resultados genéricos o incorrectos. Con uno, devuelven respuestas precisas y citadas en segundos.
Pasos:
En Amazon Quick, navegue hasta Temas → Crear tema. Ingrese un nombre TPC-H Analytics y una descripción en lenguaje sencillo: "Datos de clientes, pedidos y artículos de línea del conjunto de datos de referencia de TPC-H, que cubren ingresos, precios, descuentos, estado de pedidos y segmentos de mercado de clientes". Seleccione el conjunto de datos unificado (unido) TPC-H como fuente de datos. Analiza rápidamente el conjunto de datos y genera automáticamente configuraciones de campo (el tiempo esperado para completarse es de 8 a 10 minutos). Revise cada campo en la pestaña Datos:
Figura 13: Mejora del tema rápido
Agregue entidades nombradas para agrupaciones comerciales comunes. Agregue preguntas sugeridas para guiar a los usuarios nuevos: "¿Cuáles son los ingresos totales por estado de pedido este año?" "¿Qué segmentos de clientes realizaron más pedidos el último trimestre?" "Muéstrame los 10 pedidos principales por precio total el mes pasado".
Figura 14: Preguntas sugeridas sobre temas rápidos
Creación y publicación de paneles con Amazon Q
Amazon Q en Quick permite a los autores crear paneles utilizando lenguaje natural: describa el objeto visual que desea y Q lo genera. Esto acelera el desarrollo del panel de control de días a minutos y mantiene el enfoque en la narración empresarial en lugar de en la configuración de gráficos.
Pasos:
En Amazon Quick, navegue hasta Análisis → Crear análisis. Seleccione el conjunto de datos unificado (unido) TPC-H. Abra el panel de Amazon Q. Utilice indicaciones en lenguaje natural para crear cada imagen y agregar al análisis: "Muestre una tarjeta KPI para los ingresos totales". "Agregue un gráfico de barras que muestre los ingresos ampliados por estado del pedido". "Cree un diagrama de dispersión de la tasa de descuento versus los ingresos extendidos por segmento de clientes". Para cada objeto visual generado, revise las asignaciones de campos y ajuste los títulos, las etiquetas de los ejes y la codificación de colores para que coincidan con la guía de estilo de su organización. Agregue un control de filtro en o_orderdate para que los espectadores del panel puedan limitar los datos a un rango de tiempo de su elección sin solicitar un nuevo informe. Haga clic en Administrar preguntas y respuestas para elegir el botón de opción y seleccione el tema TPC-H Analytics para habilitar Preguntas y respuestas del panel. Esto incorpora una barra de consulta en lenguaje natural directamente en el panel publicado, lo que permite a los espectadores hacer preguntas de seguimiento sin salir del panel. Quick extrae automáticamente información semántica de las imágenes del tablero para potenciar la experiencia de preguntas y respuestas. Seleccione Publicar y asígnele el nombre TPC-H Lakehouse Analytics. Opcionalmente, Quick permite compartir el panel.
Figura 15: Panel compartido
Integración de IA agente con Amazon Quick
Sus conjuntos de datos SPICE están cargados, su tema está publicado y su panel está activo. Cada uno de estos es valioso por sí solo. Juntos, unificados dentro de un Quick Space, surgidos a través de un agente de chat personalizado y una base de conocimientos indexada, se convierten en algo cualitativamente diferente: un sistema de IA agente que responde preguntas, recupera contexto e impulsa la acción, todo desde una única interfaz conversacional.
Configuración de la base de conocimientos
La base de conocimientos le brinda al agente de chat acceso a un contexto no estructurado que los datos estructurados por sí solos no pueden responder: diccionarios de datos, documentación de esquemas, reglas comerciales y material de referencia de dominio. Para esta solución, la base de conocimientos se crea a partir de datos no estructurados de TPC-H: el documento de especificación oficial de TPC-H que describe cómo su organización asigna los campos de TPC-H a conceptos comerciales.
Pasos:
En Amazon Quick, navegue hasta Integraciones → Bases de conocimiento → Webcrawler. Agregue la URL del contenido del documento de especificación TPC-H (PDF): https://www.tpc.org/tpc_documents_current_versions/pdf/tpc-h_v2.17.1.pdf. Asigne a la base de conocimientos el nombre TPC-H Reference Knowledge Base. Seleccione Crear.
Quick indexa el documento y permite que el agente de chat pueda buscarlo en el momento de la consulta. El agente recupera pasajes relevantes, no el documento completo, para que las respuestas sean fundamentadas y concisas.
Mejores prácticas: mantenga cada documento centrado en un solo tema. Un diccionario de datos de cinco páginas es más útil para el agente que una especificación combinada de 200 páginas, porque el agente recupera por relevancia: los documentos más pequeños y enfocados producen recuperaciones más precisas.
Creación de espacio
Un Quick Space es la capa organizacional que abstrae sus activos de datos (temas, bases de conocimiento, paneles y conjuntos de datos) en un límite de contexto único y gobernado. El agente de chat que cree en el siguiente paso no consulta temas ni bases de conocimientos directamente. Consulta el Espacio. Este diseño le brinda un lugar para administrar lo que sabe el agente, quién puede acceder a él y qué puede revelar.
Pasos:
En Amazon Quick, navegue hasta Espacios → Crear espacio. Nombra el espacio como TPC-H Lakehouse Analytics Space. Agregue recursos al espacio:
Agregue el tema:
Seleccione Agregar conocimiento → Temas. Elija TPC-H Analytics (el tema configurado en la sección Configuración rápida de tema). El agente ahora puede responder preguntas sobre datos estructurados (ingresos, pedidos, segmentos de clientes) consultando el tema a través del espacio.
Agregue la base de conocimientos:
Seleccione Agregar conocimiento → Bases de conocimiento. Elija Base de conocimiento de referencia de TPC-H (la base de conocimiento configurada en la sección Configuración de la base de conocimiento). El agente ahora puede recuperar contexto no estructurado del documento de especificación TPC-H, incluida la intención comercial de las 22 consultas de referencia, las definiciones de consultas y el modelo de datos conceptual. Cuando un usuario pregunta "¿Para qué está diseñado TPC-H Query 3?" o "¿Qué dice la especificación TPC-H sobre la prioridad de orden?", el agente recupera el pasaje relevante de la especificación y lo cita en la respuesta.
Agregue el panel:
Seleccione Agregar conocimiento → Paneles. Elija TPC-H Lakehouse Analytics (el panel configurado en la sección Creación y publicación de paneles con Amazon Q). El agente puede hacer referencia a imágenes del panel y dirigir a los usuarios a vistas específicas al responder preguntas.
El espacio ahora encapsula todo lo que necesita el agente de chat: datos estructurados a través del tema, contexto no estructurado a través de la base de conocimientos y referencias visuales a través del panel. El agente consulta el Espacio; el Espacio impone los límites. Quick aplica las mismas reglas de seguridad a partir del conocimiento subyacente dentro del Espacio: los usuarios en el Espacio solo ven los datos que su rol les permite, independientemente de cómo hagan la pregunta.
Figura 16: Artefactos en el espacio
Creación de agente de chat personalizado
El Agente de Chat es la interfaz con la que interactúan los usuarios de su empresa. No es un asistente genérico: es un compañero de equipo de IA gobernado y diseñado específicamente con alcance en TPC-H Lakehouse Analytics Space. Los usuarios hacen preguntas en inglés sencillo. El agente razona sobre el Espacio, recupera la combinación correcta de datos estructurados y contexto no estructurado, y devuelve respuestas citadas y fundamentadas.
Pasos:
En Amazon Quick, navegue hasta Agentes de chat → Crear agente de chat. Escriba las instrucciones de la persona en lenguaje sencillo:
"Usted es el agente de análisis de TPC-H para [su organización]. Ayuda a los analistas de negocios e ingenieros de datos a responder preguntas sobre ingresos de pedidos, desempeño de proveedores, precios de artículos en línea y disponibilidad de inventario utilizando el conjunto de datos de TPC-H Lakehouse. Siempre base sus respuestas en datos del espacio de análisis de TPC-H Lakehouse. Cuando un usuario hace una pregunta que requiere un gráfico o tabla, recupere la respuesta del tema y preséntela claramente. Cuando un usuario pregunte sobre definiciones de esquema, lógica de consulta o términos del diccionario de datos, recupere la respuesta de la base de conocimientos. No especule. Si no puede encontrar una respuesta fundamentada, dígalo y sugiera una pregunta de seguimiento”.
Introduzca un nombre: Agente de análisis TPC-H. Adjunte el espacio: Quick puede identificar y adjuntar el espacio de análisis TPC-H Lakehouse. Opcionalmente, agrega el espacio con los siguientes pasos. En Fuentes de conocimiento, seleccione Vincular espacios. Elija el espacio de análisis TPC-H Lakehouse. El agente ahora tiene acceso al tema, la base de conocimientos y el panel a través del espacio; no se necesitan conexiones directas al conjunto de datos. Configure opciones de personalización: Mensaje de bienvenida: agregue un saludo personalizado que aparece cuando los usuarios abren por primera vez el agente de chat (p. ej., "¡Hola! Soy su agente de análisis de TPC-H. Pregúnteme sobre los ingresos por pedidos, segmentos de clientes o precios de artículos por línea".) Mensajes sugeridos: agregue de 3 a 5 preguntas iniciales para guiar a los usuarios sobre lo que el agente puede responder (p. ej., "¿Cuáles fueron los ingresos totales del último trimestre?", "Muéstreme los principales clientes por volumen de pedidos", "Explique la consulta de prioridad de envío"). las capacidades del agente inmediatamente y reducir la curva de aprendizaje para las primeras interacciones. Obtenga una vista previa y pruebe el agente utilizando el panel de vista previa integrado en el lado derecho de la página de configuración antes de publicarlo. Pruebe con preguntas que abarquen ambas fuentes de datos: "¿Cuáles fueron los ingresos totales por pedidos cumplidos el último trimestre?" — recupera del tema y del panel (datos estructurados). "¿Qué representa el campo l_shipmode?" — se recupera de la base de conocimientos (especificación TPC-H). "Muéstrame los 5 principales segmentos de clientes por volumen de pedidos". — recupera del tema y devuelve un resultado clasificado. "¿Qué pregunta comercial responde la consulta de prioridad de envío?" — se recupera de la Sección 2.4.3 de la especificación TPC-H en la Base de conocimientos. Seleccione Iniciar agente de chat para guardar y publicar los cambios.
Figura 17: Interactuar con el agente
Lo que experimentan sus usuarios
Un analista de negocios abre el Agente de análisis TPC-H y escribe:
"¿Qué segmento de clientes generó mayores ingresos el mes pasado y qué significa 'segmento de mercado' en el esquema TPC-H?"
El agente:
Consulta el tema de análisis de TPC-H a través del espacio para obtener ingresos por c_mktsegment filtrado al mes pasado y arroja un resultado clasificado de SPICE. Recupera simultáneamente la definición de c_mktsegment del diccionario de datos TPC-H en la base de conocimientos. Devuelve una respuesta única y unificada: el resultado de ingresos clasificados con una cita del conjunto de datos SPICE, seguido de la definición del esquema con una cita del documento de especificación.
Sin SQL. Sin navegación en el tablero. No hay boleto para el equipo de datos. La respuesta llega en una respuesta, basada en dos fuentes, y cada afirmación se puede rastrear hasta su origen.
Limpieza
Ejecute los siguientes pasos para eliminar los artefactos creados por esta publicación de blog
Artefactos de Lakehouse/Lago de datos
Ejecute los siguientes pasos usando la consola Athena
Tablas de caída
TABLA DROP blog_qs_athena_tpc_h_db_sql.customer_csv; TABLA DROP blog_qs_athena_tpc_h_db_sql.orders_csv; TABLA DROP blog_qs_athena_tpc_h_db_sql.orders_iceberg; TABLA DROP blog_qs_athena_tpc_h_db_sql.lineitem_csv; DROP TABLE lineitem_csv_s3_table; –(use la configuración del catálogo S3)
Eliminar bases de datos
SOLTAR BASE DE DATOS blog_qs_athena_tpc_h_db_sql;
Cubo de mesa Drop S3
Para eliminar la tabla lineitem_csv_s3_table, utilice la CLI de AWS, los SDK de AWS o la API REST de Amazon S3. Más información Para eliminar el espacio de nombres blog_qs_athena_tpc_h_namespace, utilice la CLI de AWS, los SDK de AWS o la API REST de Amazon S3. Más información Para eliminar el depósito de tablas blog-qs-athena-tpc-h-db-sql-s3-table-mar-3, utilice la CLI de AWS, los SDK de AWS o la API REST de Amazon S3. Más información
Soltar el cubo S3
Utilice la consola S3 para eliminar el depósito S3 amzn-s3-demo-bucket.
Artefactos rápidos
Eliminar el agente de chat personalizado
En Amazon Quick, navegue hasta Agentes. Seleccione Agente de análisis TPC-H y elija Eliminar. Confirma la eliminación.
Eliminar el espacio
Navega a Espacios. Seleccione TPC-H Lakehouse Analytics Space y elija Eliminar. Confirma la eliminación. Esto elimina el espacio, pero no elimina los temas, bases de conocimiento o paneles subyacentes; estos deben eliminarse por separado.
Eliminar el panel
Navegue a Paneles. Seleccione TPC-H Lakehouse Analytics y elija Eliminar. Confirma la eliminación.
Eliminar el tema
Vaya a Temas. Seleccione TPC-H Analytics y elija Eliminar. Confirma la eliminación.
Eliminar la base de conocimientos
Vaya a Integraciones → Bases de conocimiento. Seleccione Base de conocimientos de referencia de TPC-H y elija Eliminar base de conocimientos. Confirma la eliminación. Esto elimina la base de conocimientos y los documentos indexados.
Eliminar los conjuntos de datos
Vaya a Conjuntos de datos. Seleccione cada uno de los siguientes conjuntos de datos y elija Eliminar: TPC-H Unified (Unido) TPC-H Customer (CSV) TPC-H Orders (Iceberg) TPC-H Lineitem (Tablas S3) Confirme cada eliminación. Esto elimina los datos de SPICE y libera la capacidad de SPICE asociada.
Eliminar la fuente de datos
Navegue a Conjuntos de datos → Fuentes de datos. Seleccione tpch-lakehouse-athena y elija Eliminar. Confirma la eliminación.
Conclusión
Esta arquitectura demuestra cómo la IA agente de Amazon Quick transforma el análisis de datos empresariales de un cuello de botella técnico a una capacidad de autoservicio accesible. Al integrar Amazon S3, AWS Glue Data Catalog, Amazon Athena y Amazon Lake Formation con los paneles y agentes de IA conversacionales de Amazon Quick, los usuarios empresariales ahora pueden consultar datos complejos de Lakehouse a través de interfaces de lenguaje natural sin necesidad de experiencia en SQL o BI. La solución combina a la perfección conjuntos de datos TPC-H estructurados en múltiples formatos de almacenamiento (S3 Table, Iceberg, Parquet) con datos no estructurados de bases de conocimiento, lo que permite obtener información contextual más rica. Esta democratización del acceso a los datos acelera la toma de decisiones en todas las industrias y al mismo tiempo mantiene la seguridad, la gobernanza y la escalabilidad de nivel empresarial para las organizaciones modernas basadas en datos.
Próximos pasos
Consulte el tutorial de introducción para casos de uso adicionales que utilizan conjuntos de datos B2B, ingresos, ventas, marketing y recursos humanos. Para profundizar en el permiso de Lake Formation con la documentación de referencia rápida de AWS "Uso de AWS Lake Formation con Quick" y la publicación del blog: "Analice de forma segura sus datos con AWS Lake Formation y Amazon Quick Sight". Únase a Amazon Quick Community para encontrar respuestas a sus preguntas, recursos de aprendizaje y eventos en su área.
Para obtener más información, lea los siguientes enlaces:
Modernice las cargas de trabajo de Business Intelligence con Amazon Quick
Mejores prácticas para Amazon Quick Sight SPICE y el modo de consulta directa
Acceso a tablas de Amazon S3 a través de Amazon Quick con permisos de formación de lagos de AWS Seguridad de AWS en Quick.