En esta página, se explica cómo conectar Looker a PrestoDB o Trino.
Encriptación del 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 Cómo habilitar el acceso seguro a la base de datos.
Cómo crear la conexión de Looker a tu base de datos
En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.
Completa los detalles de la conexión. La mayoría de los parámetros de configuración son comunes en la mayoría de los dialectos de bases de datos. Consulta la página de documentación Cómo conectar Looker a tu base de datos para obtener más información. A continuación, se describen algunos de los parámetros de configuración:
Dialect: Selecciona PrestoDB o Trino.
PrestoSQL cambió su nombre a Trino. Si usas una versión de Trino anterior a la 352, selecciona PrestoSQL en el menú de dialectos de Looker.
Host: Es el nombre de host de la base de datos.
Puerto: Es el puerto de la base de datos. El puerto predeterminado es 8080.
Base de datos: Es el "catálogo" o el "conector", en términos de Presto.
Nombre de usuario: Es el nombre de usuario de la persona que ejecutará las consultas.
Esta información solo se envía al servidor de la base de datos si SSL está habilitado.
Contraseña: Contraseña del usuario que ejecutará las consultas.
Esta información solo se envía al servidor de la base de datos si SSL está habilitado.
Esquema: Es el esquema predeterminado que se usará cuando no se especifique ninguno.
Autenticación: Selecciona Cuenta de base de datos o OAuth:
- Usa Database Account para especificar el Username y la Password de la cuenta de usuario de la base de datos que se usará para conectarse a Looker.
- Usa OAuth si quieres configurar OAuth para la conexión.
Habilitar PDT: Usa este botón de activación para habilitar las tablas derivadas persistentes (PDT). Esto revela campos de PDT adicionales y la sección PDT Overrides para la conexión.
Base de datos temporal: Es el esquema en el que se escriben los PDT. (La versión 3.50 agregó compatibilidad con PDT a Presto. Consulta la sección Configura PrestoDB o Trino para los PDT en esta página para obtener más información sobre cómo configurar Presto para la compatibilidad con los PDT.
Parámetros adicionales de JDBC: Cualquier parámetro adicional del controlador JDBC de PrestoDB, el controlador JDBC de Trino o el controlador JDBC de Starburst.
SSL: Marca esta opción para habilitar las conexiones SSL.
Verificar SSL: Ignora este campo. Todas las conexiones SSL usarán el almacén de confianza de Java predeterminado, a menos que se indique lo contrario con los parámetros JDBC de PrestoDB, el controlador JDBC de Trino o el controlador JDBC de Starburst. Ingresa estos parámetros en el campo Parámetros adicionales de JDBC.
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.
Para obtener más información sobre la configuración de conexión, consulta la página de documentación Conecta Looker a tu base de datos.
Configura PrestoDB o Trino para PDT
Las PDT no son compatibles con las conexiones que usan OAuth.
La compatibilidad con PDT depende del conector que uses con PrestoDB o Trino . En esta sección, se explican los parámetros de configuración necesarios para una base de datos de prueba. En este ejemplo, se supone que el conector que usas es hive
.
El archivo de propiedades del catálogo de Hive debe contener algunas propiedades de configuración, que se describen en esta sección.
Se requiere lo siguiente porque Presto almacena en caché los resultados de Hive Metastore, y Looker debe poder ver las tablas de inmediato:
hive.metastore-cache-ttl = 0s
Estas dos propiedades son obligatorias porque Looker necesita poder descartar y cambiar el nombre de los PDT:
hive.allow-rename-table=true
hive.allow-drop-table=true
Como referencia, en nuestros servidores internos de prueba de Presto, usamos el siguiente archivo hive.properties
, que se usa para todos los esquemas de Hive:
hive.s3.connect-timeout=1m
hive.s3.max-backoff-time=10m
hive.s3.max-error-retries=50
hive.metastore-cache-ttl = 0s
hive.metastore-refresh-interval = 5s
hive.s3.max-connections=500
hive.s3.max-client-retries=50
connector.name=hive-hadoop2
hive.s3.socket-timeout=2m
hive.s3.staging-directory=/mnt/tmp/
hive.s3.use-instance-credentials=true
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml
hive.parquet.use-column-names=true
hive.allow-drop-table=true
hive.metastore.uri=thrift://<metastore-server>:9083
hive.storage-format=ORC
hive.allow-rename-table=true
Configura OAuth para las conexiones de Trino
Looker admite OAuth para las conexiones de Trino, lo que significa que cada usuario de Looker se autentica en la base de datos y autoriza a Looker a ejecutar consultas en la base de datos con su propia cuenta de usuario de OAuth.
OAuth permite a los administradores de bases de datos realizar las siguientes tareas:
- Audita qué usuarios de Looker ejecutan consultas en la base de datos
- Aplica controles de acceso basados en roles con permisos a nivel de la base de datos
- Usa tokens de OAuth para todos los procesos y acciones que accedan a la base de datos, en lugar de incorporar IDs y contraseñas de la base de datos en varios lugares.
- Revoca la autorización de un usuario determinado directamente a través de la base de datos
Con las conexiones de Trino que usan OAuth, los usuarios deben volver a acceder periódicamente cuando vencen sus tokens de OAuth.
Ten en cuenta lo siguiente para las conexiones de OAuth a nivel de la base de datos:
- Si un usuario permite que venza su token de OAuth, se verán afectados todos los programas o alertas que le pertenezcan. Para evitar esto, Looker enviará un correo electrónico de notificación al propietario de cada programación y cada alerta antes de que venza el token de OAuth activo actual. Looker enviará estos correos electrónicos de notificación 14, 7 y 1 día antes de que venza el token. El usuario puede ir a su página de usuario de Looker para volver a autorizar el acceso de Looker a la base de datos y evitar interrupciones en sus programas y alertas. Consulta la página de documentación Personaliza la configuración de la cuenta de usuario para obtener más detalles.
- Dado que las conexiones de bases de datos que usan OAuth son "por usuario", las políticas de almacenamiento en caché también son por usuario y no solo por consulta. Esto significa que, en lugar de usar los resultados almacenados en caché cada vez que se ejecute la misma consulta dentro del período de almacenamiento en caché, Looker usará los resultados almacenados en caché solo si el mismo usuario ejecutó la misma consulta dentro del período de almacenamiento en caché. Para obtener más información sobre el almacenamiento en caché, consulta la página de documentación Almacenamiento en caché de consultas.
- Las tablas derivadas persistentes (PDT) no son compatibles con las conexiones de Trino que usan OAuth.
- Cuando un administrador de Looker usa sudo como otro usuario, el administrador usará el token de acceso de OAuth de ese usuario. Si el token de acceso del usuario caducó, el administrador no puede crear un token nuevo en nombre del usuario con privilegios de sudo. Consulta la página de documentación de Usuarios para obtener información sobre el uso del comando
sudo
. - Cuando se accede a Azure AD desde Looker con OAuth, Looker no muestra un cuadro de diálogo de consentimiento explícito del usuario. Cuando configuras OAuth con Looker, das tu consentimiento implícito para que tu instancia de Looker acceda a tus datos de Trino.
Cómo registrar una aplicación
Para habilitar OAuth en Trino, primero registra una aplicación con un proveedor de identidad compatible. Looker solo admite Microsoft Entra ID (anteriormente conocido como Azure AD) para OAuth con Trino.
Requisitos previos
- Debes tener una suscripción a Azure.
- Debes tener permisos de administrador en Microsoft Entra ID.
Para registrar una aplicación, sigue estos pasos:
- Ve al portal de Azure y accede con tus credenciales.
- En la barra de búsqueda del portal de Azure, busca "Microsoft Entra ID" y selecciónalo en los resultados.
- En el servicio de Microsoft Entra ID, haz clic en Nuevo registro en la sección Registros de aplicaciones de la categoría Administrar.
- Completa el formulario de registro de la siguiente manera:
- Nombre: Proporciona un nombre descriptivo para la aplicación, como
Looker Trino Connection
. - Tipos de cuentas compatibles: Selecciona la opción adecuada según cómo quieras restringir el acceso. Para un caso de uso interno, puedes seleccionar Cuentas solo en este directorio de la organización.
- URI de redireccionamiento: Selecciona la plataforma Web y, luego, ingresa tu URI de redireccionamiento de Looker. Debería verse como
https://YOUR_LOOKER_HOSTNAME/external_oath/redirect
.
- Nombre: Proporciona un nombre descriptivo para la aplicación, como
- Haz clic en Register.
- Recopila el ID de cliente, el ID de inquilino y el secreto de cliente para ingresarlos en tu conexión de Looker más adelante.
- Puedes encontrar el ID de cliente y el ID de usuario en la página Descripción general.
- Si no conoces tu secreto del cliente, deberás crear uno nuevo. Haz clic en Certificados y secretos en la sección Administrar y, luego, en Nuevo secreto de cliente.
- Haz clic en Expose an API en la sección Manage.
- Junto a URI de ID de aplicación, haz clic en Agregar.
- Ingresa tu ID de cliente. Debe tener el siguiente formato:
api://CLIENT_ID
.
A continuación, sigue estos pasos en Azure Portal para crear un alcance nuevo que se usará con Looker:
- Haz clic en Agregar un permiso en la sección Permisos definidos por esta API.
Agrega un Nombre del permiso para el permiso nuevo. Looker espera que el nombre de tu alcance sea
TrinoUsers.Read.All
.El nombre
TrinoUsers.Read.All
implica permisos de solo lectura, pero el nombre en sí no establece ni aplica ningún permiso. Asegúrate de configurar el alcance para permitir solo el acceso de lectura a tu base de datos.Agrega un Nombre visible y una Descripción.
En el selector ¿Quién puede dar su consentimiento?, selecciona Administradores y usuarios.
Haz clic en Agregar alcance.
En la sección Aplicaciones cliente autorizadas, haz clic en Agregar una aplicación cliente.
Ingresa tu ID de cliente y el alcance que acabas de crear.
Haga clic en Add application.
A continuación, para otorgar a Looker los permisos necesarios de la API, sigue estos pasos:
- En la sección Administrar, haz clic en Permisos de API.
- Haz clic en Agregar un permiso.
- Selecciona la pestaña Mis APIs en la parte superior.
- En la lista de registros de apps, selecciona el registro que acabas de crear, como
Looker Trino Connection
. - Selecciona la casilla de verificación Permisos delegados.
- Selecciona la casilla de verificación TrinoUsers.Read.All.
- Selecciona Agregar permiso.
Configura la base de datos para usar OAuth
A continuación, para configurar tu base de datos de Trino para que use OAuth, agrega las siguientes líneas a tu archivo config.properties
de Trino. (Reemplaza las primeras cinco líneas de variables en mayúsculas con tus propios valores).
YOUR_HTTPS_PORT
PATH_TO_YOUR_SSL_CERTIFICATE
YOUR_TENANT_ID
YOUR_CLIENT_ID
YOUR_SHARED_SECRET
# enable SSL for OAuth
http-server.https.enabled=true
http-server.https.port=YOUR_HTTPS_PORT
http-server.https.keystore.path=PATH_TO_YOUR_SSL_CERTIFICATE
# enable OAuth 2.0
http-server.authentication.type=oauth2
http-server.authentication.oauth2.issuer=https://sts.windows.net/YOUR_TENANT_ID/
http-server.authentication.oauth2.client-id=NA_required_but_not_used
http-server.authentication.oauth2.client-secret=NA_required_but_not_used
# turn off oidc discovery - Trino will inspect tokens locally instead
http-server.authentication.oauth2.oidc.discovery=false
# URLs that Trino requires for OAuth
http-server.authentication.oauth2.jwks-url=https://login.microsoftonline.com/common/discovery/v2.0/keys
http-server.authentication.oauth2.auth-url=NA_required_but_not_used
http-server.authentication.oauth2.token-url=NA_required_but_not_used
# add audience that matches the Azure AD's Application ID URI
http-server.authentication.oauth2.additional-audiences=api://YOUR_CLIENT_ID
# set shared-secret required for internal Trino communication when authentication is enabled, see: https://github.com/trinodb/trino/issues/12397
# can be generated with the following Linux command: openssl rand 512 | base64
internal-communication.shared-secret=YOUR_SHARED_SECRET
# optionally, allow some insecure http traffic
# http-server.authentication.allow-insecure-over-http=true
Accede para ejecutar consultas
Una vez que la conexión de la base de datos esté configurada para usar OAuth, se les pedirá a los usuarios que accedan a Microsoft Entra ID antes de ejecutar consultas. Esto incluye las consultas de Explorar, los paneles, los Looks y el Ejecutor de SQL.
Los usuarios también pueden acceder a Microsoft Entra ID desde la sección Credenciales de conexión de OAuth en su página Cuenta.
Para acceder a Microsoft Entra ID con Looker, sigue estos pasos:
- Haz clic en el menú de usuario de Looker.
- Selecciona Cuenta.
- En la página Cuenta, haz clic en Acceder en la sección Credenciales de conexión de OAuth.
Esta acción mostrará un diálogo de acceso. Ingresa tus credenciales de Microsoft Entra ID y selecciona Acceder para otorgar acceso a Looker a tu cuenta de base de datos.
Una vez que accedas a Microsoft Entra ID a través de Looker, podrás salir de tu cuenta o volver a autorizar tus credenciales en cualquier momento a través de la página Cuenta, como se describe en la página de documentación Personaliza tu cuenta de usuario.
Reference
Para obtener más información sobre cómo configurar tu conector de Hive, consulta PrestoDB Hive Connector, Trino Hive Connector o Starburst Hive Connector.
Compatibilidad de características
Para que Looker admita algunas funciones, tu dialecto de base de datos también debe admitirlas.
A partir de Looker 25.10, PrestoDB admite las siguientes funciones:
Función | ¿Es compatible? |
---|---|
Nivel de asistencia | Admitido |
Looker (Google Cloud Core) | Sí |
Agregaciones simétricas | Sí |
Tablas derivadas | Sí |
Tablas derivadas persistentes basadas en SQL | Sí |
Tablas derivadas persistentes nativas | Sí |
Vistas estables | Sí |
Cancelación de consultas | Sí |
Tablas dinámicas basadas en SQL | Sí |
Zonas horarias | Sí |
SSL | Sí |
Subtotales | Sí |
Parámetros adicionales de JDBC | Sí |
Distinción entre mayúsculas y minúsculas | Sí |
Tipo de ubicación | Sí |
Tipo de lista | Sí |
Percentil | Sí |
Percentil de valores distintos | No |
Ejecutor de SQL: Mostrar procesos | Sí |
Ejecutor de SQL: Describe la tabla | Sí |
Ejecutor de SQL: Mostrar índices | No |
Seleccionar 10 en el Ejecutor de SQL | Sí |
Recuento del Ejecutor de SQL | Sí |
Explicación de SQL | Sí |
Credenciales de OAuth 2.0 | No |
Comentarios contextuales | Sí |
Agrupación de conexiones | No |
Esbozos de HLL | Sí |
Conocimiento total | Sí |
PDT incrementales | No |
Milisegundos | Sí |
Microsegundos | No |
Vistas materializadas | No |
Medidas de comparación entre períodos | No |
Distinción de recuento aproximado | Sí |
A partir de Looker 25.10, Trino admite las siguientes funciones:
Función | ¿Es compatible? |
---|---|
Nivel de asistencia | Admitido |
Looker (Google Cloud Core) | Sí |
Agregaciones simétricas | Sí |
Tablas derivadas | Sí |
Tablas derivadas persistentes basadas en SQL | Sí |
Tablas derivadas persistentes nativas | Sí |
Vistas estables | No |
Cancelación de consultas | Sí |
Tablas dinámicas basadas en SQL | Sí |
Zonas horarias | Sí |
SSL | Sí |
Subtotales | Sí |
Parámetros adicionales de JDBC | Sí |
Distinción entre mayúsculas y minúsculas | Sí |
Tipo de ubicación | Sí |
Tipo de lista | Sí |
Percentil | Sí |
Percentil de valores distintos | No |
Ejecutor de SQL: Mostrar procesos | Sí |
Ejecutor de SQL: Describe la tabla | Sí |
Ejecutor de SQL: Mostrar índices | No |
Seleccionar 10 en el Ejecutor de SQL | Sí |
Recuento del Ejecutor de SQL | Sí |
Explicación de SQL | Sí |
Credenciales de OAuth 2.0 | Sí |
Comentarios contextuales | Sí |
Agrupación de conexiones | No |
Esbozos de HLL | Sí |
Conocimiento total | Sí |
PDT incrementales | No |
Milisegundos | Sí |
Microsegundos | No |
Vistas materializadas | No |
Medidas de comparación entre períodos | No |
Distinción de recuento aproximado | Sí |
Próximos pasos
Después de conectar tu base de datos a Looker, configura las opciones de acceso para tus usuarios.