Looker admite conexiones a Amazon Athena, un servicio de consulta interactiva que facilita el análisis de datos en Amazon S3 con SQL estándar. Amazon Athena funciona sin servidores, por lo que no se debe administrar ninguna infraestructura. Solo se te cobra por las consultas que se ejecutan.
Encripta el 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 Habilita 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.
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 mediante 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 podría bloquear de forma involuntaria el acceso de Amazon Athena al bucket de S3. (Para otros dialectos, además de Amazon Athena, es posible que los usuarios quieran limitar el acceso a los datos de la capa de red con una lista de IP permitidas, como se describe en la página de documentación Habilita el acceso seguro a bases 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 proyectos de LookML.
- Dialecto: Selecciona Amazon Athena.
- Host y Puerto: Especifica el nombre del host y el puerto como se describe en la documentación de Athena sobre el formato de 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
. Puedes encontrar una lista actualizada de los extremos que admiten Athena en esta página de Referencia general de AWS. - Base de datos: Especifica la base de datos predeterminada que deseas modelar. Se puede acceder a otras bases de datos, pero Looker las considera como la base de datos 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). La habilitación de PDT revela campos de PDT adicionales y la sección PDT Overrides para la conexión.
- Base de datos temporal: Especifica el nombre del directorio de salida en el bucket de S3 en el que quieres que Looker escriba tus PDT. La ruta de acceso completa al directorio de salida se debe especificar en el campo Parámetros adicionales de JDBC. Consulta la sección Cómo especificar tu bucket de S3 para los resultados de las consultas 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 estableces un valor demasiado alto, 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 los resultados de las consultas y las PDT. consulta la sección Especifica tu bucket de S3 para los resultados de las consultas y las PDT en esta página. - Marca para los resultados de transmisión. Si tienes la política
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 conjuntos de resultados grandes. Este parámetro se establece en0
de forma predeterminada. - Parámetros opcionales adicionales para agregar a la string de conexión de JDBC.
- El parámetro
- SSL: Ignorar; de forma predeterminada, se encriptarán todas las conexiones a la API de AWS.
- Máximo de conexiones por nodo: De forma predeterminada, el valor se establece en 5. Puedes aumentarlo a un valor máximo de 20 si Looker es el principal motor de consultas que se ejecuta en Athena. Consulte la documentación sobre límites del servicio de Athena para obtener más información sobre estos límites. 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: Anula la selección de esta opción si prefieres que el Ejecutor de SQL cargue información de la tabla solo cuando se seleccione una. 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 realizar la conversión de zona horaria. Consulta la página de documentación Cómo utilizar 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 Cómo probar 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.
Especifica tu bucket de S3 para la salida de los resultados de las consultas y los PDT
Usa el campo Parámetros de JDBC adicionales de la página Conexiones para configurar la ruta de acceso al bucket de S3 que Looker usará para almacenar el resultado 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 se requiere para las conexiones de JDBC de Athena. Consulta la documentación de Athena sobre las opciones de controladores JDBC para obtener más información y una lista de todas las opciones de controladores JDBC disponibles.
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 en la que Looker escribirá el resultado de los resultados de las consultas.
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á las PDT, ingresa la ruta del directorio en el bucket de S3 en el campo Temp Database.
Por ejemplo, si deseas 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 del bucket de S3
Se recomienda que configures los ciclos de vida de los objetos de Amazon S3 para limpiar periódicamente los archivos innecesarios en tu bucket de S3 especificado. Esto se debe a varios 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 uno, 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 un acceso a AWS)
- Referencia de SQL y HiveQL de Amazon Athena
Depuración
Amazon proporciona opciones de controladores de 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 de Looker o tu analista deberá recuperar este archivo para continuar con la depuración.
Compatibilidad de características
Para que Looker admita algunas funciones, el dialecto de tu base de datos también debe admitirlas.
Amazon Athena admite las siguientes funciones a partir de Looker 24.18:
Atributo | ¿Es compatible? |
---|---|
Nivel de asistencia | Admitido |
Looker (Google Cloud Core) | Sí |
Agregados simétricos | Sí |
Tablas derivadas | Sí |
Tablas derivadas de SQL persistentes | Sí |
Tablas derivadas persistentes nativas | Sí |
Vistas estables | Sí |
Cierre de consultas | Sí |
Tablas dinámicas basadas en SQL | Sí |
Zonas horarias | Sí |
SSL | Sí |
Subtotales | No |
Parámetros adicionales de JDBC | Sí |
Distingue mayúsculas de minúsculas | Sí |
Tipo de ubicación | Sí |
Tipo de lista | Sí |
Percentil | Sí |
Percentil distintivo | No |
Procesos de presentación del ejecutor de SQL | No |
Tabla de descripción del ejecutor de SQL | Sí |
Índices de Show de SQL Runner | No |
SQL Runner Select 10 | Sí |
Recuento de ejecutores de SQL | Sí |
Explicación de SQL | No |
Credenciales de OAuth | No |
Comentarios contextuales | Sí |
Agrupación de conexiones | No |
Bocetos de HLL | Sí |
Reconocimiento agregado | Sí |
PDT incrementales | No |
Milisegundos | Sí |
Microsegundos | No |
Vistas materializadas | No |
Recuento aproximado de valores distintos | Sí |
Próximos pasos
Después de completar la conexión a la base de datos, configura las opciones de autenticación.