Amazon Athena

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 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

Una práctica recomendada es 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 bases de datos.

Configura una conexión de Amazon Athena

En esta página, se describe cómo conectar Looker a una instancia de Amazon Athena.

  1. 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 con 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).

    • Conocimientos sobre 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.

  2. En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.

  3. 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 en 443. Puede encontrar una lista actualizada de los extremos compatibles con 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 trata 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). 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. Se debe especificar la ruta completa al directorio de salida en el campo Parámetros adicionales de JDBC. Consulta la sección Especifica tu bucket de S3 para el resultado de las consultas y las PDT en esta página.
    • Cantidad máxima de conexiones del compilador de PDT: Especifica la cantidad de compilaciones de PDT simultáneas en esta conexión. Establecer este valor demasiado alto podría afectar los tiempos de consulta de forma negativa. 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 el resultado de los resultados de las consultas y las PDT en esta página.
      • Marca para ver los resultados de la transmisión. Si tienes la política athena:GetQueryResultsStream vinculada a tu usuario de Athena, puedes agregar ;UseResultsetStreaming=1 al final de tus parámetros adicionales de JDBC para mejorar significativamente el rendimiento de la extracción de un gran conjunto de resultados. Este parámetro se establece en 0 de forma predeterminada.
      • Parámetros opcionales adicionales para agregar a la string de conexión de JDBC.
    • SSL: Ignóralo. De forma predeterminada, todas las conexiones a la API de AWS estarán encriptadas.
    • 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 Conecta 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 Conecta 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 la información de la tabla solo cuando esta esté seleccionada. Consulta la página de documentación Conecta 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. Deje este campo en blanco si no desea 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 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.

Especifica tu bucket de S3 para el resultado de los resultados de las consultas y las 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 los resultados de las consultas y especificar el nombre del directorio de salida en el bucket de S3 en el que quieres que Looker escriba las 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 del controlador de JDBC para obtener más información y una lista de todas las opciones de controladores de 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 quieres que Looker escriba las PDT en s3://<s3-bucket>/looker_scratch, ingresa lo siguiente en el campo Temp Database:

`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 ingreses 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 habilitadas las PDT, cuando se compila una PDT, los metadatos sobre la tabla creada se almacenan en el bucket de S3.

Recursos

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, la asistencia 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, el dialecto de la base de datos también debe admitirlas.

Amazon Athena admite las siguientes funciones a partir de Looker 24.10:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistente
Tablas derivadas persistentes nativas
Vistas estables
Cierre de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
No
Parámetros adicionales de JDBC
Distingue mayúsculas de minúsculas
Tipo de ubicación
Tipo de lista
Percentil
Percentil distintivo
No
Procesos de presentación del ejecutor de SQL
No
Tabla de descripción del ejecutor de SQL
Índices de programas del ejecutor de SQL
No
Selección del ejecutor de SQL 10
Recuento de ejecutores de SQL
Explicación de SQL
No
Credenciales de OAuth
No
Comentarios contextuales
Agrupación de conexiones
No
Bocetos de HLL
Reconocimiento agregado
PDT incrementales
No
Milisegundos
Microsegundos
No
Vistas materializadas
No
Recuento aproximado de valores distintos

Próximos pasos

Después de completar la conexión de la base de datos, configura las opciones de autenticación.