Databricks

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 HTTP para tu clúster de Databricks. En esta página, se hará referencia a esto como <YOUR_HTTP_PATH>.

Configura 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 usuario adicionales basados en la escritura.

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 a la mayoría de los dialectos de bases de datos. Consulta la página de documentación Conecta Looker a tu base de datos para obtener más 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 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.
  • Authentication: 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 Password (Contraseña), ingresa el token de acceso personal de Databricks.
    • Usa OAuth para configurar OAuth para la conexión. Si deseas obtener más información, consulta la sección Cómo configurar OAuth para conexiones de Databricks.
  • Habilitar PDT: Usa este botón de activación para habilitar las tablas derivadas persistentes. Cuando las PDT están habilitadas, la ventana Conexión revela la configuración adicional de las PDT y la sección Anulaciones de PDT. Nota: Las PDT no son compatibles con las conexiones de Databricks que usan OAuth.
  • Temp Database: Ingresa la base de datos que deseas usar para almacenar las PDT.
  • Cantidad máxima de conexiones del compilador de PDT: Especifica la cantidad de compilaciones de PDT simultáneas en esta conexión. Establecer este valor demasiado alto podría afectar los tiempos de consulta de forma negativa. 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 Cantidad máxima 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 hacer que el Ejecutor de SQL no precargue la información de la tabla y cargue la información de la tabla solo cuando una tabla está seleccionada, desmarca 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. Deje este campo en blanco si no desea 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.

Haz clic en Probar para probar la conexión y asegurarte de que se haya configurado correctamente. Si ves Can Connect, presiona Connect. Esto ejecuta el resto de las pruebas de conexión para verificar que la cuenta de servicio se configuró correctamente y tiene 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

Para las conexiones de Looker a una base de datos de Databricks con el catálogo de Unity habilitado, la mayoría de las funciones de Looker accederán a los esquemas solo del catálogo predeterminado, como en las siguientes situaciones:

  • Cuando se genere un nuevo proyecto de LookML a partir del esquema de la base de datos, Looker creará los archivos del proyecto en función de las tablas del catálogo predeterminado de Unity Catalog.
  • 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 el ejecutor de SQL, 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 la propia cuenta de usuario de OAuth del usuario.

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 de manera forzosa controles de acceso basados en roles usando permisos a nivel de la base de datos
  • Usar tokens de OAuth para todos los procesos y acciones que accedan a la base de datos, en lugar de incorporar los ID y las 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. Como protección contra esto, Looker enviará una notificación por correo electrónico al propietario de cada programa 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 autorizarlo 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 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 realiza la solicitud 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 de 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 cuadro de diálogo de consentimiento explícito del usuario. Cuando configuras OAuth con Looker, das tu consentimiento implícitamente para que tu instancia de Looker acceda a tu base de datos de Databricks.
  • Si quieres usar OAuth para una conexión de Databricks, debes tener usuarios o principales del servicio de Databricks que se puedan usar para las consultas de Looker, y debes proporcionar a los usuarios y las principales del servicio con 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:

  1. Habilita una aplicación de OAuth personalizada en Databricks
  2. Configura la conexión en Looker

Habilita una aplicación de OAuth personalizada en Databricks

Si quieres usar OAuth para una conexión de Looker con Databricks, debes habilitar Looker como una aplicación de OAuth personalizada para tu base de datos de Databricks. Para ello, sigue estos pasos:

  1. Accede a la consola de cuentas de Databricks.
  2. Haz clic en el ícono de Configuración en el panel lateral.
  3. Haz clic en la pestaña App Connections en la ventana Settings.
  4. En la pestaña App Connections, haz clic en Add connection.
  5. 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
      
    • Permisos de acceso: Selecciona SQL para permitir que Looker consulte datos a través de SQL.

    • Generar un secreto del cliente: Habilita esta opción.

  6. Haz clic en Agregar en el diálogo Agregar conexión de Databricks.

  7. Copia y almacena de forma segura el ID de cliente y el Secreto de 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 con Databricks que use OAuth.

  1. En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.
  2. 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.
  3. Selecciona la opción OAuth en el campo Autenticación.
  4. 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.
  5. 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.10:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistente
Tablas derivadas persistentes nativas
Vistas estables
Cierre de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
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 programas del ejecutor de SQL
No
Selección del ejecutor de SQL 10
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
Comentarios contextuales
Agrupación de conexiones
No
Bocetos de HLL
No
Reconocimiento agregado
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Recuento aproximado de valores distintos
No