Vous pouvez configurer votre instance Databricks pour qu'elle fonctionne avec Looker afin d'analyser et de visualiser vos données pour les rapports opérationnels. Looker ne se connecte à Databricks que lorsque Unity Catalog est activé. La configuration nécessite de chiffrer le trafic réseau, de créer un utilisateur Looker dédié et de configurer les autorisations utilisateur.
Chiffrement du trafic réseau
Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Pour ce faire, consultez les options détaillées sur la page Sécurisation de l'accès à la base de données de la documentation.
Créer un utilisateur Looker
Looker s'authentifie auprès de Databricks à l'aide de jetons d'accès personnels. Suivez la documentation Databricks pour créer un jeton d'accès personnel pour un utilisateur Databricks à utiliser dans Looker.
Ajoutez des autorisations à cet utilisateur avec GRANT.
L'utilisateur Looker doit au moins disposer des autorisations SELECT et 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>`
Informations sur le serveur
Suivez la documentation Databricks pour trouver le chemin HTTP de votre cluster Databricks. Dans le cadre de la présente procédure, elle sera appelée <YOUR_HTTP_PATH>.
Configurer des tables dérivées persistantes
Pour utiliser des tables dérivées persistantes, créez une base de données distincte.
CREATE DATABASE <YOUR_SCRATCH_DATABASE>
Cela nécessitera également l'octroi d'autorisations utilisateur supplémentaires basées sur l'écriture.
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>`
Créer la connexion entre Looker et votre base de données
Dans la section Admin de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.
Saisissez les informations de connexion. La majorité des paramètres sont communs à la plupart des dialectes de base de données. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données. Voici quelques-uns de ces paramètres :
- Nom : spécifiez le nom de la connexion. C'est sous ce nom que la connexion sera désignée dans les projets LookML.
- Dialect (Dialecte) : spécifiez le dialecte Databricks.
- Hôte : spécifiez l'URL de l'espace de travail Databricks. Exemple :
dbc-yyyyyyyy.cloud.databricks.com/ - Port : spécifiez le port de la base de données. La valeur par défaut est 443.
- Base de données : spécifiez le nom de la base de données à utiliser pour les requêtes Looker. La valeur par défaut est
default. - Catalogue : pour les bases de données Databricks pour lesquelles Unity Catalog est activé, spécifiez le nom du catalogue à utiliser pour les requêtes Looker. Si vous ne spécifiez pas de catalogue, Looker n'accédera qu'aux schémas du catalogue par défaut. Pour en savoir plus, consultez Fonctionnalités de Looker avec Databricks Unity Catalog.
- Authentification : sélectionnez Compte de base de données ou OAuth :
- Utilisez le champ Compte de base de données pour spécifier un jeton d'accès personnel Databricks qui sera utilisé pour vous connecter à Looker (pour obtenir des instructions, consultez la section Créer un utilisateur Looker).
- Dans le champ Nom d'utilisateur, saisissez la valeur
token(ne saisissez pas l'adresse e-mail de l'utilisateur Databricks dans ce champ). - Dans le champ Mot de passe, saisissez le jeton d'accès personnel Databricks.
- Dans le champ Nom d'utilisateur, saisissez la valeur
- Utilisez OAuth pour configurer OAuth pour la connexion. Pour en savoir plus, consultez la section Configurer OAuth pour les connexions Databricks.
- Utilisez le champ Compte de base de données pour spécifier un jeton d'accès personnel Databricks qui sera utilisé pour vous connecter à Looker (pour obtenir des instructions, consultez la section Créer un utilisateur Looker).
- Activer les PDT : utilisez ce bouton pour activer les tables dérivées persistantes. Lorsque les PDT sont activées, la fenêtre Connexion affiche des paramètres de PDT supplémentaires et la section Remplacements pour les PDT. Remarque : Les PDT ne sont pas compatibles avec les connexions Databricks qui utilisent OAuth.
- Base de données temporaire : saisissez la base de données que vous souhaitez utiliser pour stocker les tables de données dérivées persistantes.
- Nombre maximal de connexions du générateur de PDT : spécifiez le nombre de créations de PDT simultanées possibles sur cette connexion. Si vous définissez une valeur trop élevée, cela peut avoir un impact négatif sur les temps de requête. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.
Paramètres JDBC supplémentaires : ajoutez des paramètres JDBC supplémentaires. Pour obtenir la liste des paramètres JDBC compatibles avec Looker, consultez la section Paramètres JDBC compatibles sur cette page.
Calendrier de maintenance : expression
cronqui indique quand Looker doit vérifier les groupes de données et les tables dérivées persistantes. Pour en savoir plus sur ce paramètre, consultez la documentation sur la planification de la maintenance.SSL : cochez cette case pour utiliser des connexions SSL.
Vérifier le protocole SSL : cochez cette option pour appliquer une validation stricte du certificat SSL.
Nombre maximal de connexions par nœud : vous pouvez conserver la valeur par défaut indiquée. Pour en savoir plus sur ce paramètre, consultez la section Nombre maximal de connexions par nœud de la page de documentation Connecter Looker à votre base de données.
Délai avant expiration du pool de connexions : vous pouvez conserver la valeur par défaut indiquée. Pour en savoir plus sur ce paramètre, consultez la section Délai avant expiration du pool de connexions de la page de documentation Connecter Looker à votre base de données.
Effectuer une mise en cache préalable de l'exécuteur SQL : pour que l'exécuteur SQL ne précharge pas les informations d'une table et les charge uniquement lorsque la table est sélectionnée, décochez cette case. Pour en savoir plus sur ce paramètre, consultez la section Précache de l'exécuteur SQL de la page de documentation Connecter Looker à votre base de données.
Extraire le schéma d'informations de l'écriture SQL : lorsque ce paramètre est activé, Looker utilise le schéma d'informations de votre base de données pour optimiser l'écriture SQL. Pour en savoir plus sur ce paramètre, consultez la section Récupérer le schéma d'informations pour l'écriture SQL de la page de documentation Connecter Looker à votre base de données.
Fuseau horaire de la base de données : spécifiez le fuseau horaire à utiliser dans la base de données. Laissez ce champ vide si vous ne souhaitez pas convertir le fuseau horaire. Pour en savoir plus, consultez la page de documentation Utiliser les paramètres de fuseau horaire.
Pour vérifier que la connexion est établie, cliquez sur le bouton Tester la connexion dans la section Détails de l'état en bas de la page Paramètres de connexion.
Si Looker affiche Connexion possible, appuyez sur Connecter pour créer la connexion.
Votre connexion de base de données est ensuite ajoutée à la liste de la page Connexions de la section Admin de Looker.
Fonctionnalités de Looker avec Databricks Unity Catalog
Looker est compatible avec les connexions aux bases de données Databricks pour lesquelles Unity Catalog est activé. Vous pouvez spécifier le nom du catalogue dans le champ Catalogue de la fenêtre Connexion de Looker lorsque vous créez une connexion Looker à votre base de données ou lorsque vous modifiez une connexion Looker existante à une base de données Databricks.
Si votre base de données Databricks est activée pour Unity Catalog, vous pouvez spécifier un catalogue Databricks dans le champ Catalogue de la connexion Looker. Lorsque vous spécifiez un catalogue Databricks, Looker l'utilise dans les scénarios suivants :
- Lorsque vous générez un projet LookML à partir de votre base de données, Looker crée les fichiers du projet en fonction des tables du catalogue configuré de votre connexion.
- Pour les projets existants, lorsque vous utilisez l'IDE Looker pour créer une vue à partir d'une table, Looker ne crée des fichiers de vue qu'à partir des tables du catalogue configuré de votre connexion.
- Lorsque vous utilisez l'exécuteur SQL, vous ne pouvez sélectionner que des schémas du catalogue configuré de votre connexion.
Si votre base de données Databricks est activée pour Unity Catalog et que la connexion Looker n'a pas de valeur dans le champ Catalogue, la plupart des fonctionnalités Looker n'accéderont qu'aux schémas du catalogue par défaut, par exemple dans les scénarios suivants :
- Lorsque vous générez un projet LookML à partir de votre base de données, Looker crée les fichiers du projet en fonction des tables du catalogue Unity Catalog par défaut.
- Pour les projets existants, lorsque vous utilisez l'IDE Looker pour créer une vue à partir d'une table, Looker ne peut créer des fichiers de vue qu'à partir des tables du catalogue par défaut d'Unity Catalog.
- Lorsque vous utilisez l'exécuteur SQL, vous ne pouvez sélectionner que des schémas du catalogue par défaut d'Unity Catalog.
Configurer OAuth pour les connexions Databricks
Looker prend en charge OAuth pour les connexions Databricks. Ainsi, chaque utilisateur Looker s'authentifie dans la base de données et autorise Looker à exécuter des requêtes sur la base de données avec son propre compte utilisateur OAuth.
OAuth permet aux administrateurs de bases de données d'effectuer les tâches suivantes :
- faire un audit des utilisateurs Looker qui exécutent des requêtes par rapport à la base de données ;
- Mettre en place des contrôles d'accès basés sur les rôles en utilisant des autorisations au niveau de la base de données
- utiliser des jetons OAuth pour tous les processus et actions qui accèdent à la base de données, au lieu d'intégrer des identifiants et des mots de passe de base de données à plusieurs endroits.
- Révoquer l'autorisation d'un utilisateur donné directement via la base de données
Avec les connexions Databricks qui utilisent OAuth, les utilisateurs doivent se reconnecter régulièrement lorsque leurs jetons OAuth expirent.
Notez les points suivants concernant les connexions OAuth au niveau de la base de données :
- Si un utilisateur laisse son jeton OAuth expirer, toutes les planifications ou alertes Looker qu'il possède seront affectées. Pour éviter cela, Looker enverra un e-mail de notification au propriétaire de chaque planification et de chaque alerte avant l'expiration du jeton OAuth actif actuel. Looker envoie ces e-mails de notification 14 jours, 7 jours et 1 jour avant l'expiration du jeton. L'utilisateur peut accéder à sa page utilisateur Looker pour autoriser à nouveau Looker à accéder à la base de données et éviter toute interruption de ses planifications et alertes. Pour en savoir plus, consultez la page de documentation Personnaliser les paramètres du compte utilisateur.
- Étant donné que les connexions à la base de données qui utilisent OAuth fonctionnent "par utilisateur", la mise en cache des règles fonctionne de la même manière, et pas seulement par requête. Ainsi, au lieu d'utiliser des résultats mis en cache lorsque la même requête est exécutée au cours de la période de mise en cache, Looker utilise les résultats mis en cache uniquement si le même utilisateur a exécuté la même requête au cours de la période de mise en cache. Pour en savoir plus sur la mise en cache, consultez la page de documentation Mettre en cache des requêtes.
- Les tables dérivées persistantes (PDT) ne sont pas compatibles avec les connexions Databricks avec OAuth.
- Lorsqu'un administrateur Looker se substitue à un autre utilisateur, il utilise le jeton d'accès OAuth de cet utilisateur. Si le jeton d'accès de l'utilisateur a expiré, l'administrateur ne peut pas créer de jeton pour le compte de l'utilisateur faisant l'objet de la commande sudo. Pour en savoir plus sur l'utilisation de la commande
sudo, consultez la page de documentation Utilisateurs. - Lorsqu'un utilisateur lance un flux d'autorisation OAuth pour une connexion Databricks dans Looker, Looker affiche une boîte de dialogue Autoriser la connexion OAuth l'informant que l'autorisation de la connexion permet à l'instance Looker d'accéder aux données en son nom, et que les utilisateurs Looker privilégiés, tels que les administrateurs ou les développeurs, peuvent avoir accès à ses données. L'utilisateur doit sélectionner Autoriser avant de se connecter à Databricks. Ces informations de consentement sont stockées dans l'espace de stockage local du navigateur de l'utilisateur, et la boîte de dialogue s'affiche de nouveau si l'espace de stockage local est vidé. Une fois que l'utilisateur a sélectionné Autoriser, Databricks n'affiche pas de boîte de dialogue de recueil du consentement utilisateur supplémentaire.
- Pour utiliser OAuth pour une connexion Databricks, vous devez disposer d'utilisateurs ou de comptes principaux de service Databricks pouvant être utilisés pour les requêtes Looker. Vous devez également fournir aux utilisateurs et aux comptes principaux de service les autorisations Databricks dont Looker aura besoin pour accéder aux sources de données et effectuer les actions requises dans Databricks.
Pour créer une connexion Databricks à Looker à l'aide d'OAuth, vous devez suivre les étapes générales suivantes, qui sont détaillées dans les sections ci-dessous :
Activer une application OAuth personnalisée dans Databricks
Pour utiliser OAuth pour une connexion Looker à Databricks, vous devez activer Looker en tant qu'application OAuth personnalisée pour votre base de données Databricks en procédant comme suit :
- Connectez-vous à la console de compte Databricks.
- Cliquez sur l'icône Paramètres dans le panneau latéral.
- Cliquez sur l'onglet Connexions d'applications dans la fenêtre Paramètres.
- Dans l'onglet Connexions d'applications, cliquez sur Ajouter une connexion.
Saisissez les valeurs suivantes dans la boîte de dialogue Ajouter une connexion de Databricks :
- Nom de l'application : indiquez un nom descriptif, par exemple "Intégration Looker".
URL de redirection : saisissez l'URL Looker vers laquelle Databricks redirigera les utilisateurs une fois l'autorisation accordée, en utilisant le format suivant (remplacez
example.looker.compar l'URL de votre instance Looker) :https://example.looker.com/external_oauth/redirectNiveaux d'accès : sélectionnez SQL pour autoriser Looker à interroger les données via SQL.
Générer un code secret du client : activez cette option.
Cliquez sur Ajouter dans la boîte de dialogue Ajouter une connexion de Databricks.
Copiez et stockez de manière sécurisée l'ID client et le code secret du client générés par Databricks.
L'enregistrement d'une application OAuth peut prendre jusqu'à 30 minutes sur la base de données Databricks. Pour en savoir plus, consultez la documentation officielle de Databricks.
Configurer la connexion dans Looker
Après avoir configuré Looker en tant qu'application OAuth personnalisée sur votre base de données Databricks, vous pouvez configurer une connexion Looker à Databricks qui utilise OAuth.
- Dans la section Admin de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.
- Indiquez les détails de la connexion, comme décrit dans la section Créer la connexion Looker à votre base de données de cette page.
- Sélectionnez l'option OAuth dans le champ Authentication (Authentification).
- Lorsque vous sélectionnez l'option OAuth, Looker affiche les champs ID client OAuth et Code secret du client OAuth. Pour ces valeurs, saisissez l'ID client et le code secret du client générés par Databricks lorsque vous avez activé Looker en tant qu'application OAuth personnalisée dans Databricks.
- Sélectionnez le bouton Tester en bas de la page Paramètres de connexion pour vous assurer que Looker peut établir le flux OAuth et se connecter à votre instance Databricks.
Paramètres JDBC compatibles
Pour Databricks, Looker accepte les paramètres JDBC suivants dans le champ Paramètres JDBC supplémentaires de la connexion. Pour en savoir plus sur ces paramètres, consultez la documentation de votre base de données.
Auth_FlowAuthMechcatalogSchemaSwitchConnSchemahttpPathLogLevelOAuth2ClientIdOAuth2SecretPWDSocketTimeoutssltransportModeUIDUserAgentEntry
Prise en charge de fonctionnalités
Pour que Looker prenne en charge certaines fonctionnalités, votre dialecte de base de données doit également les prendre en charge.
Databricks est compatible avec les fonctionnalités suivantes à partir de Looker 26.22 :
| Fonctionnalité | Compatibilité |
|---|---|
| Looker (Google Cloud Core) | |
| Agrégations symétriques | |
| Tables dérivées | |
| Tables dérivées SQL persistantes | |
| Tables dérivées natives persistantes | |
| Vues stables | |
| Arrêt des requêtes | |
| Pivots basés sur SQL | |
| Fuseaux horaires | |
| SSL | |
| Sous-totaux | |
| Paramètres JDBC supplémentaires | |
| Sensible à la casse | |
| Type de lieu | |
| Type de liste | |
| Centile | |
| Centile distinct | |
| Afficher les processus dans l'exécuteur SQL | |
| Décrire la table dans l'exécuteur SQL | |
| Afficher les index dans l'exécuteur SQL | |
| Sélectionner 10 dans l'exécuteur SQL | |
| Nombre d'exécuteurs SQL | |
| SQL Explain | |
| Identifiants OAuth 2.0 | |
| Commentaires sur le contexte | |
| Regroupement de connexions | |
| Résumés HLL | |
| Reconnaissance d'agrégats | |
| Augmentation de tables PDT | |
| Millisecondes | |
| Microsecondes | |
| Vues matérialisées | |
| Mesures de variation par période | |
| Nombre approximatif d'éléments distincts | |
| Modèles d'analyse dans la base de données | |
| Agendas personnalisés |