Amazon Athena

Looker admite conexiones a Amazon Athena, un servicio de consultas interactivas que facilita el análisis de datos en Amazon S3 mediante 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 la base 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 quieres 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 mediante 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 quieran limitar el acceso a los datos desde 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 la base de datos).

    • Conocer 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 harás referencia a la conexión en los proyectos de LookML.
    • Dialecto: Selecciona Amazon Athena.
    • Host y Puerto: Especifica el nombre del host y del 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. Puedes encontrar una lista actualizada de extremos compatibles con Athena en esta página 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 la trata como la base de datos predeterminada.
    • Nombre de usuario: Especifica el ID de la clave de acceso de AWS.
    • Password (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). Si habilitas las PDT, se mostrarán 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 el bucket de S3 en el que quieres que Looker escriba las PDT. Debes especificar la ruta de acceso 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 los resultados de la consulta 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 posibles en esta conexión. Si estableces este valor demasiado alto, es posible que se vean afectados los tiempos de las búsquedas. Para obtener más información, consulta la página de documentación Cómo conectar 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 el resultado de los resultados de la consulta y las PDT. Consulta la sección Especifica tu bucket de S3 para el resultado de los resultados de la consulta y las PDT en esta página.
      • Marca para ver resultados de transmisión. Si adjuntaste la política athena:GetQueryResultsStream a tu usuario de Athena, puedes agregar ;UseResultsetStreaming=1 al final de tus parámetros de JDBC adicionales para mejorar significativamente el rendimiento de la extracción de conjuntos de resultados grandes. Este parámetro se establece en 0 de forma predeterminada.
      • Parámetros adicionales opcionales para agregar a la string de conexión de JDBC.
    • SSL: Ignora este paso. De forma predeterminada, se encriptarán todas las conexiones a la API de AWS.
    • Cantidad máxima de conexiones por nodo: De forma predeterminada, este valor se establece en 5. Puedes aumentar esto hasta 20 si Looker es el motor de consultas principal que se ejecuta en Athena. Consulta la documentación de 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.
    • Precaché del Ejecutor de SQL: Anula la selección de esta opción si prefieres que SQL Runner cargue la información de las tablas solo cuando esta esté seleccionada. 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 de la base de datos. Deja este campo en blanco si no deseas que se realice la conversión de zona horaria. Consulta la página de documentación Usa 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 la consulta y las PDT

Usa el campo Parámetros adicionales de JDBC de la página Conexiones 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 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 Athena JDBC. 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 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á las PDT, ingresa la ruta del directorio en el bucket de S3 anterior en el campo Base de datos temporal. 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 ingresas en el campo Parámetros de JDBC adicionales.

Consideraciones del bucket de S3

Se recomienda que configures los ciclos de vida de los objetos en Amazon S3 para borrar periódicamente los archivos innecesarios en tu bucket de S3 especificado. Esto se debe a los siguientes motivos:

  • Athena almacena los resultados de las consultas para cada consulta en un bucket de S3. Consulta Athena Querying.
  • Si tienes PDT habilitadas, cuando se compile una PDT, los metadatos sobre la tabla creada se almacenarán 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 adicionales de JDBC y vuelve a probar la conexión.

Si Looker aloja la instancia, el equipo de 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.

A partir de Looker 24.8, Amazon Athena admite las siguientes funciones:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistentes
Tablas derivadas persistentes nativas
Vistas estables
Finalización 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 distinto
No
Procesos de presentación del ejecutor de SQL
No
Tabla de descripción del ejecutor de SQL
Mostrar índices del ejecutor de SQL
No
Selector de SQL 10 Select
Recuento de ejecutores de SQL
Explicación de SQL
No
Credenciales de OAuth
No
Comentarios de contexto
Agrupación de conexiones
No
Bocetos 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.