Amazon Athena

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.

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

  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. 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 en 0 de forma predeterminada.
      • Parámetros opcionales adicionales para agregar a la string de conexión de JDBC.
    • 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

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)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistentes
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 Show de SQL Runner
No
SQL Runner Select 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 a la base de datos, configura las opciones de autenticación.