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 bases de datos.
Crea un usuario de Looker
Looker se autentica en Databricks mediante tokens de acceso personal. Sigue la documentación de Databricks para crear un token de acceso personal para que un usuario de Databricks lo use en Looker.
Agrega permisos a este usuario con GRANT
.
Como mínimo, el usuario de Looker debe tener los permisos SELECT
y READ_METADATA
.
GRANT SELECT ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`
Información del servidor
Sigue la documentación de Databricks para encontrar la ruta de acceso HTTP de tu clúster de Databricks. En esta página, se denominará <YOUR_HTTP_PATH>
.
Cómo configurar tablas derivadas persistentes
Para usar tablas derivadas persistentes, crea una base de datos separada.
CREATE DATABASE <YOUR_SCRATCH_DATABASE>
Esto también requerirá que se otorguen permisos de escritura adicionales a los usuarios.
GRANT SELECT CREATE MODIFY ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`
Crea 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 información. Algunos de los parámetros de configuración se describen a continuación:
- Nombre: Especifica el nombre de la conexión. Así es como te referirás a la conexión en los proyectos de LookML.
- Dialecto: Especifica el dialecto Databricks.
- Host: Especifica la URL del lugar de trabajo de Databricks. Por ejemplo,
dbc-xxxxxxxx.cloud.databricks.com/
- Puerto: Especifica el puerto de la base de datos. El valor predeterminado es 443.
- Base de datos: Especifica el nombre de la base de datos que se usará para las consultas de Looker. El valor predeterminado es
default
. - Catálogo: Para las bases de datos de Databricks con el catálogo de Unity habilitado, especifica el nombre del catálogo que se usará para las consultas de Looker. Si no especificas un catálogo, Looker solo accederá a los esquemas del catálogo predeterminado. Consulta Funcionalidad de Looker con el catálogo de Unity de Databricks para obtener más información.
- Autenticación: Selecciona OAuth o cuenta de base de datos:
- Usa la cuenta de Database para especificar un token de acceso personal de Databricks que se usará para conectarse a Looker (consulta la sección Crea un usuario de Looker para obtener instrucciones).
- En Nombre de usuario, ingresa el valor
token
(no ingreses el correo electrónico del usuario de Databricks en este campo). - En Contraseña, ingresa el token de acceso personal de Databricks.
- En Nombre de usuario, ingresa el valor
- Usa OAuth para configurar OAuth para la conexión. Consulta la sección Configura OAuth para las conexiones de Databricks para obtener más información.
- Usa la cuenta de Database para especificar un token de acceso personal de Databricks que se usará para conectarse a Looker (consulta la sección Crea un usuario de Looker para obtener instrucciones).
- Habilitar PDT: Usa este botón de activación para habilitar las tablas derivadas persistentes. Cuando se habilitan los PDT, la ventana Connection muestra la configuración adicional de PDT y la sección PDT Overrides. Nota: Los PDT no son compatibles con las conexiones de Databricks que usan OAuth.
- Base de datos temporal: Ingresa la base de datos que deseas usar para almacenar los PDT.
- 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: Agrega cualquier parámetro de JDBC de Spark adicional.
Programa de mantenimiento de grupos de datos y PDT: Una expresión
cron
que indica cuándo Looker debe verificar los grupos de datos y las tablas derivadas persistentes. Obtén más información sobre esta configuración en la documentación del Programa de mantenimiento de grupos de datos y PDT.SSL: marca esta opción para usar conexiones SSL.
Verificar SSL: Marca esta opción para aplicar de manera forzosa una verificación estricta de certificados SSL.
Cantidad máxima de conexiones por nodo: Puedes dejar este parámetro de configuración con el valor predeterminado inicialmente. Obtén más información sobre este parámetro de configuración en la sección Máximo de conexiones por nodo de la página de documentación Conecta Looker a tu base de datos.
Tiempo de espera del grupo de conexiones: Puedes dejar este parámetro de configuración con el valor predeterminado inicialmente. Obtén más información sobre este parámetro de configuración en la sección Tiempo de espera del grupo de conexiones de la página de documentación Conecta Looker a tu base de datos.
Almacenamiento previo en caché del Ejecutor de SQL: Para que el Ejecutor de SQL no cargue información de la tabla de forma previa y solo la cargue cuando se seleccione una tabla, borra esta casilla de verificación. Obtén más información sobre este parámetro de configuración en la sección Precaché de SQL Runner de la página de documentación Conecta Looker a tu base de datos.
Zona horaria de la base de datos: Especifica la zona horaria que se usará en la base de datos. Deja este campo en blanco si no quieres que se realice 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.
Haz clic en Probar para probar la conexión y asegurarte de que se haya configurado correctamente. Si ves Can Connect, presiona Connect. Se ejecutarán el resto de las pruebas de conexión para verificar que la cuenta de servicio se haya configurado correctamente y con los roles adecuados. 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.
Funcionalidad de Looker con el catálogo de Unity de Databricks
Looker admite conexiones a bases de datos de Databricks con Unity Catalog habilitado. Puedes especificar el nombre del catálogo en el campo Catalog de la ventana Connection de Looker cuando creas una conexión de Looker con tu base de datos o cuando editas una conexión de Looker existente en una base de datos de Databricks.
Si tu base de datos de Databricks está habilitada para Unity Catalog, puedes especificar un catálogo de Databricks en el campo Catalog de la conexión de Looker. Cuando especificas un catálogo de Databricks, Looker lo usa en las siguientes situaciones:
- Cuando generes un nuevo proyecto de LookML desde tu base de datos, Looker creará los archivos del proyecto en función de las tablas del catálogo configurado de tu conexión.
- En el caso de los proyectos existentes, cuando uses el IDE de Looker para crear una vista a partir de una tabla, Looker creará archivos de vistas solo de las tablas del catálogo configurado de tu conexión.
- Cuando usas SQL Runner, solo puedes seleccionar esquemas del catálogo configurado de tu conexión.
Si tu base de datos de Databricks está habilitada para Unity Catalog y la conexión de Looker no tiene un valor en el campo Catalog, la mayoría de las funciones de Looker solo accederán a los esquemas del catálogo predeterminado, como en las siguientes situaciones:
- Cuando generes un nuevo proyecto de LookML desde tu base de datos, Looker creará los archivos del proyecto según las tablas del catálogo predeterminado del Catálogo de Unity.
- En los proyectos existentes, cuando se usa el IDE de Looker para crear una vista a partir de una tabla, Looker puede crear archivos de vista solo de las tablas del catálogo predeterminado de Unity Catalog.
- Cuando usas SQL Runner, solo puedes seleccionar esquemas del catálogo predeterminado de Unity Catalog.
Configura OAuth para conexiones de Databricks
Looker admite OAuth para las conexiones de Databricks, 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 que los administradores de bases de datos realicen las siguientes tareas:
- Audita qué usuarios de Looker ejecutan consultas en la base de datos
- Aplica de manera forzosa controles de acceso basados en roles usando permisos a nivel de la base de datos
- Usa tokens de OAuth para todos los procesos y acciones que acceden a la base de datos, en lugar de incorporar IDs y contraseñas de la base de datos en varios lugares.
- Revocar la autorización para un usuario determinado directamente a través de la base de datos
Con las conexiones de Databricks que usan OAuth, los usuarios deben volver a acceder periódicamente cuando venzan sus tokens de OAuth.
Ten en cuenta lo siguiente para las conexiones de OAuth a nivel de la base de datos:
- Si un usuario deja que venza su token de OAuth, se verán afectadas las programaciones o alertas de Looker que le pertenecen. 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á estas notificaciones por correo electrónico 14, 7 días 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 a Looker en 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 información.
- Debido a 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 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 de consultas en caché.
- Las tablas derivadas persistentes (PDT) no son compatibles con las conexiones de Databricks con OAuth.
- Cuando un administrador de Looker lo usa como otro usuario, usa el token de acceso de OAuth de ese usuario. Si el token de acceso del usuario venció, el administrador no puede crear un token nuevo en nombre del usuario sudoed. Consulta la página de documentación Usuarios para obtener información sobre el uso del comando
sudo
. - Cuando un usuario accede a Databricks desde Looker con OAuth, Looker no muestra un diálogo de consentimiento del usuario explícito. Cuando configuras OAuth con Looker, das tu consentimiento implícitamente para que tu instancia de Looker acceda a tu base de datos de Databricks.
- Para usar OAuth para una conexión de Databricks, debes tener usuarios o principales de servicio de Databricks que se puedan usar para las consultas de Looker. Además, debes proporcionarles a los usuarios y principales de servicio los permisos de Databricks que Looker necesitará para acceder a las fuentes de datos y realizar las acciones necesarias en Databricks.
Para crear una conexión de Databricks a Looker con OAuth, debes seguir estos pasos generales, que se detallan en las siguientes secciones:
Habilita una aplicación de OAuth personalizada en Databricks
Para usar OAuth para una conexión de Looker a Databricks, debes habilitar Looker como una aplicación de OAuth personalizada para tu base de datos de Databricks. Para ello, sigue estos pasos:
- Accede a la consola de cuentas de Databricks.
- Haz clic en el ícono de Configuración en el panel lateral.
- Haz clic en la pestaña App Connections en la ventana Settings.
- En la pestaña App Connections, haz clic en Add connection.
Ingresa los siguientes valores en el diálogo Agregar conexión de Databricks:
- Nombre de la aplicación: Proporciona un nombre descriptivo, como "Integración de Looker".
URLs de redireccionamiento: Ingresa la URL de Looker a la que Databricks redireccionará a los usuarios después de la autorización exitosa con este formato (reemplaza
example.looker.com
por la URL de tu instancia de Looker):https://example.looker.com/external_oauth/redirect
Alcances de acceso: Selecciona SQL para permitir que Looker consulte datos a través de SQL.
Genera un secreto del cliente: Habilita esta opción.
Haz clic en Agregar en el diálogo Agregar conexión de Databricks.
Copia y almacena de forma segura el ID de cliente y el Secreto del cliente que genera Databricks.
El registro de una aplicación de OAuth puede tardar hasta 30 minutos en procesarse en la base de datos de Databricks. Para obtener más información, consulta la documentación oficial de Databricks.
Configura la conexión en Looker
Después de configurar Looker como una aplicación de OAuth personalizada en tu base de datos de Databricks, puedes configurar una conexión de Looker a Databricks que use OAuth.
- En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.
- Completa los detalles de la conexión, como se describe en la sección Crea la conexión de Looker a tu base de datos de esta página.
- Selecciona la opción OAuth en el campo Autenticación.
- Cuando seleccionas la opción OAuth, Looker muestra los campos ID de cliente de OAuth y Secreto del cliente de OAuth. Para estos valores, ingresa el ID de cliente y el secreto de cliente que generó Databricks cuando habilitaste Looker como una aplicación de OAuth personalizada en Databricks.
- Selecciona el botón Probar en la parte inferior de la página Configuración de conexiones para asegurarte de que Looker pueda establecer correctamente el flujo de OAuth y conectarse a tu instancia de Databricks.
Compatibilidad de características
Para que Looker admita algunas funciones, el dialecto de la base de datos también debe admitirlas.
Databricks admite las siguientes funciones a partir de Looker 24.16:
Atributo | ¿Es compatible? |
---|---|
Nivel de asistencia | Admitido |
Looker (Google Cloud Core) | Sí |
Agregados simétricos | Sí |
Tablas derivadas | Sí |
Tablas derivadas de SQL persistentes | Sí |
Tablas derivadas persistentes nativas | 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 mayúsculas de minúsculas | Sí |
Tipo de ubicación | Sí |
Tipo de lista | Sí |
Percentil | Sí |
Percentil de valores distintos | No |
Cómo mostrar procesos en el Ejecutor de SQL | No |
Tabla de descripción del ejecutor de SQL | Sí |
Índices de Show de SQL Runner | No |
Selección del ejecutor de SQL 10 | Sí |
Recuento de ejecutores de SQL | Sí |
Explicación de SQL | Sí |
Credenciales de OAuth | Sí |
Comentarios contextuales | Sí |
Agrupación de conexiones | No |
Bocetos de HLL | No |
Aggregate Awareness | Sí |
PDT incrementales | Sí |
Milisegundos | Sí |
Microsegundos | Sí |
Vistas materializadas | No |
Distinción de recuento aproximado | No |