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

  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

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:

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

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

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

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
Eliminación de consultas
Pivotes basados 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 de valores distintos
No
Cómo mostrar procesos en el Ejecutor de SQL
No
Tabla de descripción del ejecutor de SQL
Índices de Show de SQL Runner
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
Aggregate Awareness
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Distinción de recuento aproximado
No