En esta página se explica cómo conectar Looker a PrestoDB o Trino.
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.
Crear la conexión de Looker a tu base de datos
En la sección Administrar de Looker, selecciona Conexiones y, a continuación, haz clic en Añadir conexión.
Rellena los detalles de la conexión. La mayoría de los ajustes son comunes a la mayoría de los dialectos de bases de datos. Consulta la página de documentación Conectar Looker a tu base de datos para obtener información. A continuación, se describen algunos de los ajustes:
Dialecto: selecciona PrestoDB o Trino.
PrestoSQL ha cambiado 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: el nombre de host de la base de datos.
Puerto: el puerto de la base de datos. El puerto predeterminado es 8080.
Base de datos: el "catálogo" o el "conector", en términos de Presto.
Nombre de usuario: el nombre de usuario que ejecutará las consultas.
Esta información solo se envía al servidor de bases 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 bases de datos si SSL está habilitado.
Esquema: el esquema predeterminado que se usará cuando no se especifique ninguno.
Autenticación: selecciona Cuenta de base de datos u OAuth:
- Usa Cuenta de base de datos para especificar el nombre de usuario y la contraseña 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 PDTs: usa este interruptor para habilitar las tablas derivadas persistentes (PDTs). De esta forma, se mostrarán campos de PDT adicionales y la sección Sustituciones de PDT de la conexión.
Base de datos temporal: el esquema en el que se escriben las PDTs. (En la versión 3.50 se añadió la compatibilidad con PDT a Presto. Consulta la sección Configurar PrestoDB o Trino para PDTs de esta página para obtener más información sobre cómo configurar Presto para que admita PDTs.
Parámetros JDBC adicionales: cualquier parámetro adicional del controlador JDBC de PrestoDB, del controlador JDBC de Trino o del controlador JDBC de Starburst.
SSL marca esta opción para habilitar las conexiones SSL.
Verificar SSL: ignore este campo. Todas las conexiones SSL usarán el almacén de confianza predeterminado de Java, 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. Introduzca estos parámetros en el campo Parámetros JDBC adicionales.
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.
Para obtener más información sobre los ajustes de conexión, consulta la página de documentación Conectar Looker a tu base de datos.
Configurar PrestoDB o Trino para PDTs
No se admiten PDTs en conexiones que usan OAuth.
La compatibilidad con PDT depende del conector que utilices con PrestoDB o Trino . En esta sección se explican los ajustes de configuración necesarios para una base de datos de borrador. En este ejemplo se da por supuesto que el conector que utiliza 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.
Esto es necesario porque Presto almacena en caché los resultados del metastore de Hive y Looker debe poder ver las tablas de inmediato:
hive.metastore-cache-ttl = 0s
Estas dos propiedades son obligatorias porque Looker necesita poder eliminar y cambiar el nombre de los PDTs:
hive.allow-rename-table=true
hive.allow-drop-table=true
Como referencia, en nuestros servidores de pruebas internos de Presto usamos el siguiente archivo hive.properties
, que se utiliza en 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
Configurar OAuth para 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 para que ejecute 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:
- Auditar qué usuarios de Looker están ejecutando consultas en la base de datos
- Aplicar controles de acceso basados en roles mediante permisos a nivel de base de datos
- Usa tokens de OAuth en todos los procesos y acciones que accedan a la base de datos, en lugar de insertar IDs y contraseñas de la base de datos en varios lugares.
- Revocar la autorización de un usuario determinado directamente a través de la base de datos
En las conexiones de Trino que usan OAuth, los usuarios deben volver a iniciar sesión periódicamente cuando caduquen sus tokens de OAuth.
Ten en cuenta lo siguiente sobre las conexiones OAuth a nivel de base de datos:
- Si un usuario deja que caduque su token de OAuth, se verán afectadas todas las programaciones o alertas que haya creado. Para evitarlo, Looker enviará un correo de notificación al propietario de cada programación y de cada alerta antes de que caduque el token de OAuth activo. Looker enviará estos correos de notificación 14, 7 y 1 día antes de que caduque el token. El usuario puede ir a su página de usuario de Looker para volver a autorizar a Looker a acceder a la base de datos y evitar interrupciones en sus programaciones y alertas. Consulta la página de documentación Personalizar la configuración de la cuenta de usuario para obtener más información.
- Como 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 resultados almacenados en caché cada vez que se ejecute la misma consulta durante el periodo de almacenamiento en caché, Looker solo usará resultados almacenados en caché si el mismo usuario ha ejecutado la misma consulta durante el periodo de almacenamiento en caché. Para obtener más información sobre el almacenamiento en caché, consulta la página de documentación Consultas de caché.
- No se admiten tablas derivadas persistentes (PDTs) en las conexiones de Trino con OAuth.
- Cuando un administrador de Looker usa sudo como otro usuario, el administrador usará el token de acceso OAuth de ese usuario. Si el token de acceso del usuario ha caducado, el administrador no puede crear un token en nombre del usuario con privilegios de superusuario. Consulta la página de documentación Usuarios para obtener información sobre el uso del comando
sudo
. - Al iniciar sesión en Azure AD desde Looker mediante OAuth, Looker no muestra un cuadro de diálogo de consentimiento explícito del usuario. Al configurar OAuth con Looker, das tu consentimiento implícito para que tu instancia de Looker acceda a tus datos de Trino.
Registrar una aplicación
Para habilitar OAuth en Trino, primero debes registrar una aplicación con un proveedor de identidad compatible. Looker solo admite Microsoft Entra ID (antes 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 e inicia sesión 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 Microsoft Entra ID, haz clic en Nuevo registro en la sección Registros de aplicaciones de la categoría Gestionar.
- Rellena el formulario de registro de la siguiente manera:
- Nombre: proporcione un nombre descriptivo para la aplicación, como
Looker Trino Connection
. - Tipos de cuenta admitidos: selecciona la opción adecuada en función de cómo quieras restringir el acceso. En el caso de uso interno, puedes seleccionar Solo cuentas de este directorio de la empresa.
- URI de redirección: selecciona la plataforma Web y, a continuación, introduce tu URI de redirección de Looker. Debería tener este aspecto:
https://YOUR_LOOKER_HOSTNAME/external_oath/redirect
.
- Nombre: proporcione un nombre descriptivo para la aplicación, como
- Haz clic en Registrarse.
- Recoge el ID de cliente, el ID de cliente y el secreto de cliente para introducirlos más adelante en tu conexión de Looker.
- Puedes encontrar el ID de cliente y el ID de cliente en la página Descripción general.
- Si no sabes cuál es tu secreto de cliente, tendrás que crear uno. En la sección Gestionar, haz clic en Certificados y secretos y, a continuación, en Nuevo secreto de cliente.
- En la sección Gestionar, haz clic en Exponer una API.
- Junto a Application ID URI (URI del ID de aplicación), haz clic en Add (Añadir).
- Introduce tu ID de cliente. Debe tener el siguiente formato:
api://CLIENT_ID
.
A continuación, sigue estos pasos en el portal de Azure para crear un nuevo ámbito que puedas usar con Looker:
- En la sección Ámbitos definidos por esta API, haz clic en Añadir un ámbito.
Añade un nombre de ámbito al nuevo ámbito. Looker espera que el nombre de tu ámbito sea
TrinoUsers.Read.All
.El nombre
TrinoUsers.Read.All
implica permisos de solo lectura, pero no establece ni aplica ningún permiso. Asegúrate de configurar el ámbito para que solo se permita el acceso de lectura a tu base de datos.Añade un Nombre visible y una Descripción.
En el selector ¿Quién puede dar el consentimiento?, seleccione Administradores y usuarios.
Haz clic en Añadir ámbito.
En la sección Aplicaciones cliente autorizadas, haga clic en Añadir una aplicación cliente.
Introduce tu ID de cliente y el nuevo ámbito que has creado.
Haz clic en Añadir aplicación.
A continuación, para conceder a Looker los permisos de API necesarios, sigue estos pasos:
- En la sección Gestionar, haz clic en Permisos de API.
- Haz clic en Añadir un permiso.
- En la parte superior, selecciona la pestaña Mis APIs.
- En la lista de registros de aplicaciones, selecciona el que acabas de crear, como
Looker Trino Connection
. - Selecciona la casilla Permisos delegados.
- Seleccione la casilla TrinoUsers.Read.All.
- Selecciona Añadir permiso.
Configurar la base de datos para usar OAuth
A continuación, para configurar tu base de datos Trino de forma que use OAuth, añade las siguientes líneas a tu archivo config.properties
de Trino. (Sustituya las cinco primeras líneas de variables en mayúsculas por sus 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
Iniciar sesión para ejecutar consultas
Una vez que se haya configurado la conexión de la base de datos para usar OAuth, se pedirá a los usuarios que inicien sesión en Microsoft Entra ID antes de ejecutar las consultas. Esto incluye las consultas de Exploraciones, paneles de control, Looks y SQL Runner.
Los usuarios también pueden iniciar sesión en Microsoft Entra ID desde la sección Credenciales de conexión OAuth de su página Cuenta.
Para iniciar sesión en Microsoft Entra ID con Looker, sigue estos pasos:
- Haz clic en el menú de usuario de Looker.
- Selecciona Cuenta.
- En la página Cuenta, haga clic en Iniciar sesión en la sección Credenciales de conexión de OAuth.
Se mostrará un cuadro de diálogo de inicio de sesión. Introduce tus credenciales de Microsoft Entra ID y selecciona Iniciar sesión para conceder acceso a Looker a tu cuenta de base de datos.
Una vez que hayas iniciado sesión en Microsoft Entra ID a través de Looker, podrás cerrar sesión o volver a autorizar tus credenciales en cualquier momento desde la página Cuenta, tal como se describe en la página de documentación Personalizar tu cuenta de usuario.
Referencia
Para obtener más información sobre cómo configurar tu conector de Hive, consulta Conector de Hive de PrestoDB, Conector de Hive de Trino o Conector de Hive de Starburst.
Funciones admitidas
Para que Looker admita algunas funciones, el dialecto de tu base de datos también debe admitirlas.
PrestoDB admite las siguientes funciones a partir de Looker 25.14:
Función | ¿Es compatible? |
---|---|
Nivel de asistencia | Compatible |
Looker (servicio principal de Google Cloud) | Sí |
Agregados simétricos | Sí |
Tablas derivadas | Sí |
Tablas derivadas de SQL persistentes | Sí |
Tablas derivadas nativas persistentes | Sí |
Vistas estables | Sí |
Eliminación de consultas | Sí |
Pivotes basados en SQL | Sí |
Zonas horarias | Sí |
SSL | Sí |
Subtotales | Sí |
Parámetros adicionales de JDBC | Sí |
Distingue entre mayúsculas y minúsculas | Sí |
Tipo de ubicación | Sí |
Tipo de lista | Sí |
Percentil | Sí |
Percentil de valores distintos | No |
SQL Runner Show Processes | Sí |
SQL Runner Describe Table | Sí |
SQL Runner Show Indexes | No |
SQL Runner Select 10 | Sí |
Recuento de SQL Runner | Sí |
Explicación de SQL | Sí |
Credenciales de OAuth 2.0 | No |
Comentarios contextuales | Sí |
Grupo de conexiones | No |
Esquemas HLL | Sí |
Notoriedad agregada | Sí |
PDTs incrementales | No |
Milisegundos | Sí |
Microsegundos | No |
Vistas materializadas | No |
Métricas de comparación con el periodo anterior | No |
Recuento aproximado de valores distintos | Sí |
Trino admite las siguientes funciones a partir de Looker 25.14:
Función | ¿Es compatible? |
---|---|
Nivel de asistencia | Compatible |
Looker (servicio principal de Google Cloud) | Sí |
Agregados simétricos | Sí |
Tablas derivadas | Sí |
Tablas derivadas de SQL persistentes | Sí |
Tablas derivadas nativas persistentes | Sí |
Vistas estables | No |
Eliminación de consultas | Sí |
Pivotes basados en SQL | Sí |
Zonas horarias | Sí |
SSL | Sí |
Subtotales | Sí |
Parámetros adicionales de JDBC | Sí |
Distingue entre mayúsculas y minúsculas | Sí |
Tipo de ubicación | Sí |
Tipo de lista | Sí |
Percentil | Sí |
Percentil de valores distintos | No |
SQL Runner Show Processes | Sí |
SQL Runner Describe Table | Sí |
SQL Runner Show Indexes | No |
SQL Runner Select 10 | Sí |
Recuento de SQL Runner | Sí |
Explicación de SQL | Sí |
Credenciales de OAuth 2.0 | Sí |
Comentarios contextuales | Sí |
Grupo de conexiones | No |
Esquemas HLL | Sí |
Notoriedad agregada | Sí |
PDTs incrementales | No |
Milisegundos | Sí |
Microsegundos | No |
Vistas materializadas | No |
Métricas de comparación con el periodo anterior | No |
Recuento aproximado de valores distintos | Sí |
Pasos siguientes
Una vez que hayas conectado tu base de datos a Looker, configura las opciones de inicio de sesión para tus usuarios.