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. Envisagez l'une des options décrites sur la page de documentation Activer l'accès sécurisé à la base de données.

Créer un utilisateur Looker

Looker s'authentifie auprès de Databricks par le biais 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

Consultez la documentation Databricks pour trouver le chemin HTTP de votre cluster Databricks. Cet identifiant est désigné sous le nom <YOUR_HTTP_PATH> sur cette page.

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 Looker à 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. Certains de ces paramètres sont décrits ci-dessous:

  • Name (Nom) : indiquez le nom de la connexion. C'est ainsi que vous vous référerez à la connexion dans les projets LookML.
  • Dialecte: spécifiez le dialecte Databricks.
  • Host (Hôte) : indiquez l'URL de l'espace de travail Databricks. Exemple :dbc-xxxxxxxx.cloud.databricks.com/
  • Port: spécifiez le port de base de données. La valeur par défaut est 443.
  • Base de données: indiquez 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 la section Fonctionnalités Looker avec le catalogue Databricks Unity.
  • Authentification: sélectionnez Compte de base de données ou OAuth: <ph type="x-smartling-placeholder">
      </ph>
    • Utilisez le compte de base de données pour spécifier un jeton d'accès personnel Databricks qui sera utilisé pour se connecter à Looker (consultez la section Créer un utilisateur Looker pour obtenir des instructions).
      • 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.
    • Utilisez OAuth pour configurer OAuth pour la connexion. Pour en savoir plus, consultez la section Configurer OAuth pour les connexions Databricks.
  • Activer les tables dérivées persistantes: activez ce bouton pour activer les tables dérivées persistantes. Lorsque les tables PDT sont activées, la fenêtre Connexion affiche des paramètres supplémentaires pour les tables PDT ainsi que la section Remplacements PDT. Remarque: Les tables PDT ne sont pas compatibles avec les connexions Databricks utilisant OAuth.
  • Temp Database (Base de données temporaire) : saisissez la base de données que vous souhaitez utiliser pour stocker les tables PDT.
  • Nombre maximal de connexions du générateur de tables PDT: spécifiez le nombre de compilations de tables PDT simultanées possibles sur cette connexion. Définir cette valeur trop élevée peut avoir un impact négatif sur la durée des requêtes. 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 Spark supplémentaires, le cas échéant.

  • Planification des groupes de données et des tables PDT: 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 des groupes de données et des tables PDT.

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

  • Vérifier SSL: cochez cette option pour appliquer une validation stricte des certificats SSL.

  • Nombre maximal de connexions par nœud: vous pouvez conserver la valeur par défaut de ce paramètre. 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.

  • Expiration du pool de connexions: vous pouvez conserver la valeur par défaut de ce paramètre. Pour en savoir plus sur ce paramètre, consultez la section Expiration du pool de connexions de la page de documentation Connecter Looker à votre base de données.

  • Pré-cache de l'exécuteur SQL: pour empêcher SQL Runner de précharger les informations de table et de ne les charger que lorsqu'une 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.

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

Cliquez sur Tester pour tester la connexion et vous assurer qu'elle est correctement configurée. Si Can Connect (Connexion autorisée) s'affiche, appuyez sur Connect (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. Consultez la page de documentation Tester la connectivité de la base de données pour obtenir des informations de dépannage.

Fonctionnalité Looker avec le catalogue Databricks Unity

Looker accepte les connexions aux bases de données Databricks lorsque Unity Catalog est activé. Vous pouvez spécifier le nom du catalogue dans le champ Catalogue de la fenêtre Connexion à Looker lorsque vous créez une connexion Looker à votre base de données ou lorsque vous modifiez une connexion Looker existante vers une base de données Databricks.

Si votre base de données Databricks est activée pour le catalogue Unity, 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:

  • Lors de la génération d'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 crée des fichiers de vue uniquement à partir des tables du catalogue configuré pour votre connexion.
  • Lorsque vous utilisez SQL Runner, vous ne pouvez sélectionner que des schémas du catalogue configuré pour votre connexion.

Si votre base de données Databricks est activée pour le catalogue Unity 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, comme dans les cas suivants:

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

Configurer OAuth pour les connexions Databricks

Looker prend en charge OAuth pour les connexions Databricks, ce qui signifie que chaque utilisateur Looker s'authentifie auprès de 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 ;
  • Appliquez des contrôles d'accès basés sur les rôles à l'aide d'autorisations au niveau de la base de données
  • Utiliser des jetons OAuth pour tous les processus et toutes les actions qui accèdent à la base de données, au lieu d'intégrer les ID et les 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 pour les connexions OAuth au niveau de la base de données:

  • Si un utilisateur autorise l'expiration de son jeton OAuth, toutes les planifications ou alertes Looker appartenant à l'utilisateur seront affectées. Pour éviter cela, Looker envoie une notification par e-mail au propriétaire de chaque planification et à chaque alerte avant l'expiration du jeton OAuth actif. Looker enverra 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 ainsi éviter toute interruption de ses planifications et alertes. Consultez la page de documentation Personnaliser les paramètres de compte utilisateur pour en savoir plus.
  • Étant donné que les connexions à la base de données utilisant OAuth sont « par utilisateur », les stratégies de mise en cache sont également par utilisateur 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 cette période. 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 effectue une commande Sudo pour 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 en créer de nouveau au nom de l'utilisateur ayant effectué la commande Sudo. Consultez la page de documentation Utilisateurs pour en savoir plus sur l'utilisation de la commande sudo.
  • Lorsqu'un utilisateur se connecte à Databricks depuis Looker à l'aide d'OAuth, Looker n'affiche pas de boîte de dialogue explicite de recueil du consentement de l'utilisateur. En configurant OAuth avec Looker, vous autorisez implicitement votre instance Looker à accéder à votre base de données Databricks.
  • Afin d'utiliser OAuth pour une connexion Databricks, vous devez disposer d'utilisateurs ou de principaux de service Databricks pouvant être utilisés pour les requêtes Looker. Vous devez également leur fournir 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 via OAuth, vous devez suivre ces étapes générales, 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 afin d'établir une connexion entre Looker et Databricks, vous devez activer Looker comme 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 Paramètres dans le panneau latéral.
  3. Cliquez sur l'onglet App Connections (Connexions à l'application) dans la fenêtre Settings (Paramètres).
  4. Dans l'onglet App Connections (Connexions à l'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 "Looker Integration".
    • URL de redirection: saisissez l'URL Looker vers laquelle Databricks redirigera les utilisateurs après une autorisation réussie, en utilisant le format suivant (remplacez example.looker.com par l'URL de votre instance Looker):

      https://example.looker.com/external_oauth/redirect
      
    • Niveaux 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.

  6. Cliquez sur Ajouter dans la boîte de dialogue Ajouter une connexion de Databricks.

  7. Copiez l'ID client et le code secret du client générés par Databricks, et stockez-les de manière sécurisée.

Le traitement de l'enregistrement d'une application OAuth dans la base de données Databricks peut prendre jusqu'à 30 minutes. 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 dans 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 Connexions, puis cliquez sur Ajouter une connexion.
  2. Renseignez les détails 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 Authentification.
  4. 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 qui ont été 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 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.

Compatibilité des caractéristiques

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

Databricks prend en charge les fonctionnalités suivantes à partir de Looker 24.12:

Caractéristique Compatibilité
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Suppression des requêtes
Oui
Tableaux croisés dynamiques basés sur SQL
Oui
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
Paramètres supplémentaires JDBC
Oui
Sensible à la casse
Oui
Type d'emplacement
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Non
Processus d'affichage de l'exécuteur SQL
Non
Table de description de l'exécuteur SQL
Oui
Index d'affichage de l'exécuteur SQL
Non
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Oui
Commentaires sur le contexte
Oui
Pooling des connexions
Non
HLL Sketches
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Oui
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non