Looker admite conexiones a Amazon Athena, un servicio de consultas interactivas que facilita el análisis de datos en Amazon S3 con SQL estándar. Amazon Athena no tiene servidores, por lo que no hay infraestructura que administrar. Solo se te cobra por las consultas que se ejecutan.
Encriptación del tráfico de red
Se recomienda encriptar el tráfico de red entre la aplicación de Looker y tu base de datos. Considera una de las opciones que se describen en la página de documentación Cómo habilitar el acceso seguro a la base de datos.
Cómo configurar una conexión de Amazon Athena
En esta página, se describe cómo conectar Looker a una instancia de Amazon Athena.
Asegúrate de tener lo siguiente:
- Un par de claves de acceso de Amazon AWS.
Es el bucket de S3 que contiene los datos que deseas consultar en Looker con Amazon Athena. Las claves de acceso de Amazon AWS deben tener acceso de lectura y escritura a este bucket.
Amazon Athena debe tener acceso a este bucket de S3 a través de un rol o un conjunto de permisos, así como a través de reglas de firewall. No agregues reglas de seguridad al bucket de S3 para la IP de Looker, ya que esto puede bloquear inadvertidamente el acceso de Amazon Athena al bucket de S3. (En el caso de otros dialectos además de Amazon Athena, es posible que los usuarios deseen limitar el acceso a los datos desde la capa de red con una lista de IPs permitidas, como se describe en la página de documentación Cómo habilitar el acceso seguro a la base de datos).
Conocimiento de la ubicación de los datos de tu instancia de Amazon Athena El nombre de la región se encuentra en la parte superior derecha de la consola de Amazon.
En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.
Completa los detalles de la conexión:
- Nombre: Especifica el nombre de la conexión. Así es como te referirás a la conexión en los proyectos de LookML.
- Dialect: Selecciona Amazon Athena.
- Host y Port: Especifica el nombre del host y el puerto como se describe en la documentación de Athena sobre el formato de la URL de JDBC. El host debe ser un extremo de Amazon válido (como
athena.eu-west-1.amazonaws.com
), y el puerto debe permanecer en443
. En esta página de Referencia general de AWS, encontrarás una lista actualizada de los extremos que admiten Athena. - Base de datos: Especifica la base de datos predeterminada que deseas modelar. Se puede acceder a otras bases de datos, pero Looker trata a esta base de datos como la predeterminada.
- Nombre de usuario: Especifica el ID de la clave de acceso de AWS.
- Contraseña: Especifica la clave de acceso secreta de AWS.
- Habilitar PDT: Usa este botón de activación para habilitar las tablas derivadas persistentes (PDT). Habilitar las PDT revela campos de PDT adicionales y la sección Anulaciones de PDT para la conexión.
- Base de datos temporal: Especifica el nombre del directorio de salida en tu bucket de S3 en el que deseas que Looker escriba tus PDT. La ruta de acceso completa a tu directorio de salida debe especificarse en el campo Parámetros adicionales de JDBC. Consulta la sección Cómo especificar tu bucket de S3 para la salida de los resultados de la consulta y los PDT en esta página.
- Cantidad máxima de conexiones del compilador de PDT: Especifica la cantidad de compilaciones de PDT simultáneas posibles en esta conexión. Si se establece un valor demasiado alto, se podría afectar negativamente los tiempos de consulta. Para obtener más información, consulta la página de documentación Conecta Looker a tu base de datos.
- Parámetros adicionales de JDBC: Especifica parámetros adicionales para la conexión:
- El parámetro
s3_staging_dir
es el bucket de S3 que Looker debe usar para la salida de los resultados de las consultas y los PDT. Consulta la sección Cómo especificar tu bucket de S3 para la salida de los resultados de las consultas y los PDT en esta página. - Es una marca que indica que se trata de resultados de transmisión. Si tienes la política de
athena:GetQueryResultsStream
adjunta a tu usuario de Athena, puedes agregar;UseResultsetStreaming=1
al final de tus parámetros JDBC adicionales para mejorar significativamente el rendimiento de la extracción de grandes conjuntos de resultados. De forma predeterminada, este parámetro se establece en0
. - Son parámetros adicionales opcionales para agregar a la cadena de conexión JDBC.
- El parámetro
- SSL: Ignorar. De forma predeterminada, todas las conexiones a la API de AWS se encriptarán.
- Máx. de conexiones por nodo: De forma predeterminada, este valor se establece en 5. Puedes aumentar este valor hasta 20 si Looker es el motor de consultas principal que se ejecuta en Athena. Consulta la documentación sobre los límites del servicio de Athena para obtener más detalles. Consulta la página de documentación Cómo conectar Looker a tu base de datos para obtener más información.
- Tiempo de espera del grupo de conexiones: Especifica el tiempo de espera del grupo de conexiones. De forma predeterminada, el tiempo de espera se establece en 120 segundos. Consulta la página de documentación Cómo conectar Looker a tu base de datos para obtener más información.
- Almacenamiento previo en caché del Ejecutor de SQL: Desmarca esta opción si prefieres que el Ejecutor de SQL cargue la información de la tabla solo cuando se selecciona una tabla. Consulta la página de documentación Cómo conectar Looker a tu base de datos para obtener más información.
- Zona horaria de la base de datos: Especifica la zona horaria que se usa en la base de datos. Deja este campo en blanco si no deseas la conversión de zona horaria. Consulta la página de documentación Cómo usar la configuración de zona horaria para obtener más información.
Para verificar que la conexión se haya realizado correctamente, haz clic en Probar. Consulta la página de documentación Prueba la conectividad de la base de datos para obtener información sobre la solución de problemas.
Para guardar esta configuración, haz clic en Conectar.
Cómo especificar tu bucket de S3 para la salida de los resultados de las consultas y los PDT
Usa el campo Additional JDBC parameters de la página Connections para configurar la ruta de acceso al bucket de S3 que Looker usará para almacenar los resultados de las consultas y especificar el nombre del directorio de salida en el bucket de S3 en el que deseas que Looker escriba los PDT. Especifica esta información con el parámetro s3_staging_dir
.
El parámetro s3_staging_dir
de JDBC es una forma alternativa de configurar la propiedad S3OutputLocation
de Amazon Athena, que es obligatoria para las conexiones JDBC de Athena. Consulta la documentación de Athena sobre las opciones del controlador JDBC para obtener más información y una lista de todas las opciones disponibles del controlador JDBC.
En el campo Parámetros adicionales de JDBC, especifica el parámetro s3_staging_dir
con el siguiente formato:
`s3_staging_dir=s3://<s3-bucket>/<output-path>`
Aquí:
<s3-bucket>
es el nombre del bucket de S3.<output-path>
es la ruta de acceso en la que Looker escribirá el resultado de la consulta.
El par de claves de acceso de AWS debe tener permisos de escritura en el directorio
<s3-bucket>
.
Para configurar el directorio en el que Looker escribirá los PDT, ingresa la ruta de acceso del directorio en el bucket de S3 en el campo Base de datos temporal.
Por ejemplo, si quieres que Looker escriba PDT en s3://<s3-bucket>/looker_scratch
, ingresa lo siguiente en el campo Base de datos temporal:
`looker_scratch`
Solo ingresa la ruta de acceso del directorio. Looker obtiene el nombre del bucket de S3 del parámetro s3_staging_dir
que ingresas en el campo Parámetros adicionales de JDBC.
Consideraciones bucket de S3
Te recomendamos que configures los ciclos de vida de los objetos de Amazon S3 para limpiar periódicamente los archivos innecesarios en el bucket de S3 especificado. Esto se debe a los siguientes motivos:
- Athena almacena los resultados de cada consulta en un bucket de S3. Consulta Consultas de Athena.
- Si tienes habilitados los PDT, cuando se compila un PDT, los metadatos sobre la tabla creada se almacenan en el bucket de S3.
Recursos
- Documentación de Amazon Athena
- Consola de Amazon Web Services para Athena (requiere acceso a AWS)
- Referencia de SQL y HiveQL de Amazon Athena
Depuración
Amazon proporciona opciones de controladores JDBC LogLevel
y LogPath
para depurar conexiones. Para usarlos, agrega ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log
al final del campo Parámetros de JDBC adicionales y vuelve a probar la conexión.
Si Looker aloja la instancia, el equipo de asistencia al cliente de Looker o tu analista deberán recuperar este archivo para continuar con la depuración.
Compatibilidad de características
Para que Looker admita algunas funciones, tu dialecto de base de datos también debe admitirlas.
A partir de Looker 25.10, Amazon Athena admite las siguientes funciones:
Función | ¿Es compatible? |
---|---|
Nivel de asistencia | Admitido |
Looker (Google Cloud Core) | Sí |
Agregaciones simétricas | Sí |
Tablas derivadas | Sí |
Tablas derivadas persistentes basadas en SQL | Sí |
Tablas derivadas persistentes nativas | Sí |
Vistas estables | Sí |
Cancelación de consultas | Sí |
Tablas dinámicas basadas en SQL | Sí |
Zonas horarias | Sí |
SSL | Sí |
Subtotales | No |
Parámetros adicionales de JDBC | Sí |
Distinción entre mayúsculas y minúsculas | Sí |
Tipo de ubicación | Sí |
Tipo de lista | Sí |
Percentil | Sí |
Percentil de valores distintos | No |
Ejecutor de SQL: Mostrar procesos | No |
Ejecutor de SQL: Describe la tabla | Sí |
Ejecutor de SQL: Mostrar índices | No |
Seleccionar 10 en el Ejecutor de SQL | Sí |
Recuento del Ejecutor de SQL | Sí |
Explicación de SQL | No |
Credenciales de OAuth 2.0 | No |
Comentarios contextuales | Sí |
Agrupación de conexiones | No |
Esbozos de HLL | Sí |
Conocimiento total | Sí |
PDT incrementales | No |
Milisegundos | Sí |
Microsegundos | No |
Vistas materializadas | No |
Medidas de comparación entre períodos | No |
Distinción de recuento aproximado | Sí |
Próximos pasos
Después de completar la conexión de la base de datos, configura las opciones de autenticación.