Amazon Athena

Looker admite conexiones a Amazon Athena, un servicio de consultas interactivo que facilita el análisis de datos en Amazon S3 mediante SQL estándar. Amazon Athena no utiliza servidores, por lo que no hay ninguna infraestructura que gestionar. Solo se te cobrará por las consultas que se ejecuten.

Cifrar el tráfico de red

Te recomendamos que cifres el tráfico de red entre la aplicación Looker y tu base de datos. Considera una de las opciones descritas en la página de documentación Habilitar el acceso seguro a la base de datos.

Configurar 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 que tienes lo siguiente:

    • Un par de claves de acceso de Amazon AWS.
    • El segmento 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 segmento.

      Amazon Athena debe tener acceso a este segmento de S3 mediante un rol o un conjunto de permisos, así como mediante reglas de cortafuegos. No añadas reglas de seguridad al segmento de S3 de la IP de Looker, ya que esto puede bloquear por error el acceso de Amazon Athena al segmento de S3. En el caso de otros dialectos distintos de Amazon Athena, los usuarios pueden limitar el acceso a los datos desde la capa de red con una lista de permitidos de IPs, tal como se describe en la página de documentación 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.

  2. En la sección Administrar de Looker, selecciona Conexiones y, a continuación, haz clic en Añadir conexión.

  3. Rellena 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 (Host) y Port (Puerto): especifica el nombre del host y el puerto tal como se describe en la documentación de Athena sobre el formato de la URL JDBC. El host debe ser un endpoint de Amazon válido (como athena.eu-west-1.amazonaws.com) y el puerto debe seguir siendo 443. Puedes consultar una lista actualizada de los endpoints que admiten Athena en esta página de referencia general de AWS.
    • Base de datos: especifique la base de datos predeterminada que quiera modelizar. 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 clave de acceso de AWS.
    • Contraseña: especifica la clave de acceso secreta de AWS.
    • Habilitar PDTs: usa este interruptor para habilitar las tablas derivadas persistentes (PDTs). Al habilitar las PDTs, se muestran campos adicionales de PDTs y la sección Sustituciones de PDTs de la conexión.
    • Base de datos temporal: especifica el nombre del directorio de salida del bucket de S3 en el que quieres que Looker escriba tus PDTs. La ruta completa al directorio de salida debe especificarse en el campo Parámetros JDBC adicionales. Consulta la sección Especificar el bucket de S3 para la salida de resultados de consultas y los PDTs de esta página.
    • Número máximo de conexiones del creador de PDT: especifica el número de compilaciones de PDT simultáneas posibles en esta conexión. Si este valor es demasiado alto, los tiempos de consulta podrían verse afectados negativamente. Para obtener más información, consulta la página de documentación Conectar Looker a tu base de datos.
    • Parámetros JDBC adicionales: especifica parámetros adicionales para la conexión:
      • El parámetro s3_staging_dir es el bucket de S3 que debe usar Looker para la salida de los resultados de las consultas y los PDTs. Consulta la sección Especificar el bucket de S3 para la salida de los resultados de las consultas y los PDTs de esta página.
      • Marca para obtener resultados de streaming. Si tienes la política athena:GetQueryResultsStream asociada a tu usuario de Athena, puedes añadir ;UseResultsetStreaming=1 al final de tus parámetros JDBC adicionales para mejorar significativamente el rendimiento de la extracción de conjuntos de resultados grandes. El valor predeterminado de este parámetro es 0.
      • Parámetros adicionales opcionales que se añadirán a la cadena de conexión JDBC.
    • SSL ignora este campo. De forma predeterminada, todas las conexiones a la API de AWS se cifrarán.
    • Máximo de conexiones por nodo: el valor predeterminado es 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 Athena para obtener más información sobre los límites del servicio. Consulta la página de documentación 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 es de 120 segundos. Consulta la página de documentación Conectar Looker a tu base de datos para obtener más información.
    • Precaché de SQL Runner: desmarque esta opción si prefiere que SQL Runner cargue la información de las tablas solo cuando se seleccione una tabla. Consulta la página de documentación 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. Deje este campo en blanco si no quiere que se convierta la zona horaria. Para obtener más información, consulta la página de documentación Usar la configuración de zona horaria.

Para verificar que la conexión se ha realizado correctamente, haz clic en Probar. Consulta la página de documentación Probar la conectividad de la base de datos para obtener información sobre cómo solucionar problemas.

Para guardar estos ajustes, haz clic en Conectar.

Especificar el bucket de S3 para la salida de los resultados de las consultas y los PDTs

Use el campo Parámetros JDBC adicionales de la página Conexiones para configurar la ruta al segmento de S3 que Looker usará para almacenar los resultados de las consultas y para especificar el nombre del directorio de salida del segmento de S3 en el que quiere que Looker escriba los PDTs. Especifica esta información con el parámetro s3_staging_dir.

El parámetro JDBC s3_staging_dir 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 Additional JDBC parameters (Parámetros JDBC adicionales), especifica el parámetro s3_staging_dir con el siguiente formato:

`s3_staging_dir=s3://<s3-bucket>/<output-path>`

Donde:

  • <s3-bucket> es el nombre del segmento de S3.
  • <output-path> es la ruta en la que Looker escribirá la salida 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á PDTs, introduzca la ruta del directorio en el segmento de S3 en el campo Base de datos temporal. Por ejemplo, si quiere que Looker escriba PDTs en s3://<s3-bucket>/looker_scratch, introduzca lo siguiente en el campo Base de datos temporal:

`looker_scratch`

Introduce solo la ruta del directorio. Looker obtiene el nombre del segmento de S3 del parámetro s3_staging_dir que introduces en el campo Parámetros JDBC adicionales.

Consideraciones sobre los buckets de S3

Te recomendamos que configures los ciclos de vida de los objetos de Amazon S3 para eliminar periódicamente los archivos innecesarios del segmento de S3 que hayas especificado. Esto se debe a varios motivos:

  • Athena almacena los resultados de las consultas en un contenedor de S3. Consulta Consultas de Athena.
  • Si tienes habilitadas las PDTs, cuando se crea una, los metadatos sobre la tabla creada se almacenan en el bucket de S3.

Recursos

Depuración

Amazon ofrece las opciones de controlador JDBC LogLevel y LogPath para depurar las conexiones. Para usarlos, añade ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log al final del campo Parámetros JDBC adicionales y vuelve a probar la conexión.

Si Looker aloja la instancia, el equipo de Asistencia de Looker o tu analista tendrán que recuperar este archivo para seguir depurando.

Funciones admitidas

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

Función ¿Es compatible?
Nivel de asistencia
Compatible
Looker (servicio principal de Google Cloud)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistentes
Tablas derivadas nativas persistentes
Vistas estables
Eliminación de consultas
Pivotes basados en SQL
Zonas horarias
SSL
Subtotales
No
Parámetros adicionales de JDBC
Distingue entre mayúsculas y minúsculas
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
No
SQL Runner Show Processes
No
SQL Runner Describe Table
SQL Runner Show Indexes
No
SQL Runner Select 10
Recuento de SQL Runner
Explicación de SQL
No
Credenciales de OAuth 2.0
No
Comentarios contextuales
Grupo de conexiones
No
Esquemas HLL
Notoriedad agregada
PDTs incrementales
No
Milisegundos
Microsegundos
No
Vistas materializadas
No
Métricas de comparación con el periodo anterior
No
Recuento aproximado de valores distintos

Pasos siguientes

Una vez que hayas completado la conexión de la base de datos, configura las opciones de autenticación.