Databricks

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 Activer l'accès sécurisé à 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 qu'un utilisateur Databricks pourra utiliser dans Looker.

Ajoutez des autorisations à cet utilisateur avec GRANT.

L'utilisateur Looker doit au minimum 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. Sur cette page, il sera appelé <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>

Vous devrez également accorder des 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 Looker à votre base de données

Dans la section Admin de Looker, sélectionnez Connections (Connexions), puis cliquez sur Add Connection (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 des paramètres :

  • Name (Nom) : spécifiez le nom de la connexion. C'est ainsi que vous ferez référence à la connexion dans les projets LookML.
  • Dialect (Dialecte) : spécifiez le dialecte Databricks.
  • Host (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.
  • Database (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.
  • Catalog (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 la section Fonctionnalités de Looker avec Databricks Unity Catalog.
  • Authentication (Authentification) : sélectionnez Database Account (Compte de base de données) ou OAuth :
    • Utilisez Database Account (Compte de base de données) pour spécifier un jeton d’accès personnel Databricks qui sera utilisé pour se connecter à Looker (pour obtenir des instructions, consultez la section Créer un utilisateur Looker).
      • Dans le champ Username (Nom d'utilisateur), saisissez la valeur token (ne saisissez pas l'adresse e-mail de l'utilisateur Databricks dans ce champ).
      • Dans le champ Password (Mot de passe), saisissez le jeton d’accès personnel Databricks.
    • Utilisez OAuth pour configurer OAuth pour la connexion. Pour en savoir plus, consultez la section Configurer OAuth pour les connexions Databricks.
  • Enable PDTs (Activer les PDT) : utilisez ce bouton pour activer les tables dérivées persistantes. Lorsque les PDT sont activées, la fenêtre Connection (Connexion) affiche des paramètres PDT supplémentaires et la section PDT Overrides (Remplacements de PDT). Remarque : Les PDT ne sont pas compatibles avec les connexions Databricks qui utilisent OAuth.
  • Temp Database (Base de données temporaire) : saisissez la base de données que vous souhaitez utiliser pour stocker les PDT.
  • Max number of PDT builder connections (Nombre maximal de connexions de PDT builder) : spécifiez le nombre de builds PDT simultanés 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.
  • Additional JDBC parameters (Paramètres JDBC supplémentaires) : ajoutez des paramètres JDBC supplémentaires. Pour obtenir la liste des paramètres compatibles avec Looker, consultez la section Paramètres JDBC compatibles sur cette page.

  • Maintenance Schedule (Planification de la maintenance) : expression cron qui 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 Planification de la maintenance.

  • SSL : cochez cette case pour utiliser des connexions SSL.

  • Verify SSL (Vérifier SSL) : cochez cette case pour appliquer une validation stricte du certificat SSL.

  • Max connections per node (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.

  • Connection Pool Timeout (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.

  • SQL Runner Precache (Préchargement de l'exécuteur SQL) : pour que SQL Runner 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échargement de l'exécuteur SQL de la page de documentation Connecter Looker à votre base de données.

  • Database Time Zone (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 effectuer de conversion de fuseau horaire. Pour en savoir plus, consultez la page de documentation Utiliser les paramètres de fuseau horaire.

Cliquez sur Test (Tester) pour tester la connexion et vous assurer qu'elle est correctement configurée. Si Can Connect (Peut se connecter) s'affiche, appuyez sur Connect (Se connecter). Les autres tests de connexion sont alors exécutés pour vérifier si le compte de service a été configuré correctement et avec les rôles adéquats. Pour obtenir des informations sur la résolution des problèmes, consultez la page de documentation Tester la connectivité de la base de données.

Fonctionnalités de Looker avec Databricks Unity Catalog

Looker est compatible avec les connexions aux bases de données Databricks lorsque Unity Catalog est activé. Vous pouvez spécifier le nom du catalogue dans le champ Catalog (Catalogue) de la fenêtre Connection (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 Unity Catalog est activé pour votre base de données Databricks, vous pouvez spécifier un catalogue Databricks dans le champ Catalog (Catalogue) de la connexion Looker. Lorsque vous spécifiez un catalogue Databricks, Looker l'utilise dans les cas suivants :

  • Lorsque vous générez un nouveau 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 SQL Runner, vous ne pouvez sélectionner que des schémas à partir du catalogue configuré de votre connexion.

Si Unity Catalog est activé pour votre base de données Databricks et que le champ Catalog (Catalogue) de la connexion Looker ne contient aucune valeur, la plupart des fonctionnalités Looker n'accéderont qu'aux schémas du catalogue par défaut, comme dans les cas suivants :

  • Lorsque vous générez un nouveau projet LookML à partir de votre base de données, Looker crée les fichiers du projet en fonction des tables du catalogue par défaut Unity Catalog.
  • 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 Unity Catalog.
  • Lorsque vous utilisez SQL Runner, vous ne pouvez sélectionner que des schémas à partir du catalogue par défaut Unity Catalog.

Configurer OAuth pour les connexions Databricks

Looker est compatible avec OAuth pour les connexions Databricks. Ainsi, chaque utilisateur Looker peut s'authentifier dans la base de données et autoriser Looker à exécuter des requêtes sur la base de données avec son propre compte utilisateur OAuth.

OAuth permet aux administrateurs de base 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 les 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.

Voici quelques remarques 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 envoie 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 de base de données qui utilisent OAuth fonctionnent "par utilisateur", la mise en cache des politiques fonctionne de la même manière, et pas seulement par requête. Cela signifie qu'au lieu d'utiliser les résultats mis en cache chaque fois que la même requête est exécutée pendant la période de mise en cache, Looker n'utilisera les résultats mis en cache que si le même utilisateur a exécuté la même requête pendant la période de mise en cache. Pour en savoir plus sur la mise en cache, consultez la page de documentation Mise 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 exécute une commande Sudo en tant qu'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 nouveau 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 se connecte à Databricks depuis Looker à l'aide d'OAuth, Looker n'affiche pas de boîte de dialogue de consentement explicite de l'utilisateur. En configurant OAuth avec Looker, vous consentez implicitement à ce que votre instance Looker accède à votre base de données Databricks.
  • Pour utiliser OAuth pour une connexion Databricks, vous devez disposer d'utilisateurs ou de comptes principaux de service Databricks qui peuvent ê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 ces étapes générales, qui sont détaillées dans les sections suivantes :

  1. Activer une application OAuth personnalisée dans Databricks
  2. Configurer la connexion dans Looker

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 :

  1. Connectez-vous à la console de compte Databricks.
  2. Cliquez sur l'icône Settings (Paramètres) dans le panneau latéral.
  3. Cliquez sur l'onglet App Connections (Connexions d'application) dans la fenêtre Settings (Paramètres).
  4. Dans l'onglet App Connections (Connexions d'application), cliquez sur Add connection (Ajouter une connexion).
  5. Saisissez les valeurs suivantes dans la boîte de dialogue Add connection (Ajouter une connexion) de Databricks :

    • Application Name (Nom de l'application) : indiquez un nom descriptif, tel que "Intégration Looker".
    • URL de redirection : saisissez l'URL Looker vers laquelle Databricks redirigera les utilisateurs après une autorisation réussie, au format suivant (remplacez example.looker.com par l'URL de votre instance Looker) :

      https://example.looker.com/external_oauth/redirect
      
    • Champs d'application de l'accès : sélectionnez SQL pour autoriser Looker à interroger des données via SQL.

    • Generate a client secret (Générer un code secret du client) : activez cette option.

  6. Cliquez sur Add (Ajouter) dans la boîte de dialogue Add connection (Ajouter une connexion) de Databricks.

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

Une fois que vous avez 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.

  1. Dans la section Admin de Looker, sélectionnez Connections (Connexions), puis cliquez sur Add Connection (Ajouter une connexion).
  2. Saisissez les informations de connexion, comme décrit dans la section Créer la connexion Looker à votre base de données de cette page.
  3. Sélectionnez l'option OAuth dans le champ Authentication (Authentification).
  4. Lorsque vous sélectionnez l'option OAuth, Looker affiche les champs OAuth Client ID (ID client OAuth) et OAuth Client Secret (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.
  5. Sélectionnez le bouton Test (Tester) en bas de la page Connections Settings (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 est compatible avec les paramètres JDBC suivants dans le champ Additional JDBC parameters (Paramètres JDBC supplémentaires) pour la connexion. Pour en savoir plus sur ces paramètres, consultez la documentation de votre base de données.

  • Auth_Flow
  • AuthMech
  • catalogSchemaSwitch
  • ConnSchema
  • httpPath
  • LogLevel
  • OAuth2ClientId
  • OAuth2Secret
  • PWD
  • SocketTimeout
  • ssl
  • transportMode
  • UID
  • UserAgentEntry

Compatibilité avec les fonctionnalités

Pour que Looker prenne en charge certaines fonctionnalités, votre dialecte de base de données doit également les prendre en charge.

Depuis Looker 26.6, Databricks est compatible avec les fonctionnalités suivantes :

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
Tableaux croisés dynamiques basés sur SQL
Fuseaux horaires
SSL
Sous-totaux
Paramètres JDBC supplémentaires
Sensibilité à la casse
Type de lieu
Type de liste
Centile
Centile distinct
Afficher les processus de l'exécuteur SQL
Décrire la table de l'exécuteur SQL
Afficher les index de l'exécuteur SQL
Sélectionner 10 de l'exécuteur SQL
Compter de l'exécuteur SQL
Expliquer SQL
Identifiants OAuth 2.0
Commentaires contextuels
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
Agendas personnalisés