Aller au contenu principal

Fédération de catalogues Palantir Foundry

info

Aperçu

Cette fonctionnalité est en Aperçu public.

La fédération de catalogues Palantir Foundry permet à Unity Catalog de lire les tables Iceberg de Palantir Foundry directement depuis le stockage cloud.

Avec la fédération de catalogues, Unity Catalog accède aux tables Iceberg de Palantir Foundry dans le stockage cloud et la query s'exécute entièrement sur le compute Databricks. Les équipes de données peuvent découvrir, gouverner et interroger les données Palantir Foundry depuis Databricks sans créer de pipelines ETL. L'accès aux données est en lecture seule.

Avant de commencer

Examinez les conditions suivantes avant de configurer la fédération de catalogue Palantir Foundry.

Exigences relatives au Workspace :

Compute requis :

  • Le compute Databricks doit utiliser Databricks Runtime 18 ou une version ultérieure.
  • Les SQL Warehouse doivent être de type Pro ou Serverless.
  • Les clusters dédiés (anciennement clusters mono-utilisateur) ne sont pas pris en charge.

Exigences réseau :

Autorisations requises :

  • Pour créer une connexion, vous devez être administrateur de métastore ou utilisateur disposant du privilège CREATE CONNECTION sur le métastore Unity Catalog attaché au workspace.
  • Pour créer un catalogue étranger, vous devez disposer de l'autorisation CREATE CATALOG sur le métastore. Vous devez également être propriétaire de la connexion ou disposer du privilège CREATE FOREIGN CATALOG sur celle-ci.

Exigences de Palantir Foundry :

  • Les tables Palantir Foundry doivent être des tables Iceberg.
  • Une application tierce Palantir Foundry pour l’authentification. Configurez l’application en fonction de la méthode d’authentification :
    • OAuth User to Machine (U2M) :

      • L’application doit prendre en charge les périmètres api:iceberg-read et offline_access.
      • L’application doit avoir l’URL de redirection OAuth https://<databricks-workspace-url>/login/oauth/lakehousefederation.html configurée, où <databricks-workspace-url> est le Hostname de votre workspace.
      • L'utilisateur qui authentifie la connexion doit avoir accès au dossier racine fédéré.
    • OAuth Machine to Machine (M2M) :

      • L'application doit prendre en charge l'octroi d'identifiants client et la portée api:iceberg-read.
      • L'utilisateur de service derrière l'application doit avoir accès au dossier racine fédéré.

Étape 1 : créer une connexion

Autorisations requises : administrateur de métastore ou utilisateur disposant du privilège CREATE CONNECTION.

Une connexion spécifie un chemin d'accès et des identifiants pour accéder à un système externe. Il identifie l'hôte Palantir Foundry et les identifiants permettant de s'authentifier, et non le dossier à fédérer. Vous sélectionnez le dossier racine lorsque vous créez le catalogue étranger à l'étape 2 : Créer un catalogue étranger.

La fédération Palantir Foundry prend en charge deux méthodes d’authentification, décrites dans les sous-sections suivantes. Les deux nécessitent une application tierce Palantir Foundry.

remarque

Vous pouvez également utiliser l’API REST Databricks ou la CLI Databricks pour créer une connexion. Voir POST /api/2.1/unity-catalog/connections et les commandes Unity Catalog.

OAuth utilisateur à machine (U2M)

Avec OAuth User to Machine (U2M), Unity Catalog accède à Foundry en tant qu'utilisateur qui authentifie la connexion. Créez cette connexion à l'aide de l'Explorateur de catalogue. Cette méthode ne peut pas être configurée à l'aide de SQL, car le flux de connexion OAuth nécessite l'interface utilisateur.

  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalog .
  2. En haut du volet Catalog, cliquez sur Icône Ajouter ou Plus l’icône Add et sélectionnez Create a connection dans le menu.
  3. Sur la page Bases des connexions de l’assistant Configurer la connexion , saisissez un Nom de connexion convivial.
  4. Sélectionnez un type de connexion Palantir Foundry et un type d'authentification OAuth utilisateur à machine , puis cliquez sur Suivant .
  5. Sur la page Authentication , saisissez le Host de votre instance Palantir Foundry, par exemple your-company.palantirfoundry.com, et terminez le flux de connexion OAuth pour autoriser la connexion.
  6. (Facultatif) Ajouter un commentaire.
  7. Cliquez sur Créer une connexion .

OAuth machine à machine (M2M)

Avec OAuth Machine to Machine (M2M), Unity Catalog accède à Foundry en tant qu'utilisateur de service derrière l'application tierce, en utilisant l'octroi d'identifiants client. Créez cette connexion à l'aide de l'Explorateur de catalogue ou de la commande SQL CREATE CONNECTION dans un notebook Databricks ou dans l'éditeur de requêtes Databricks SQL.

  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalog .

  2. En haut du volet Catalog, cliquez sur Icône Ajouter ou Plus l’icône Add et sélectionnez Create a connection dans le menu.

  3. Sur la page Bases des connexions de l’assistant Configurer la connexion , saisissez un Nom de connexion convivial.

  4. Sélectionnez un Type de connexion de Palantir Foundry et un Type d'authentification de OAuth machine à machine , puis cliquez sur Suivant .

  5. Sur la page Authentification , saisissez ce qui suit :

    • Host : le hostname de votre instance Palantir Foundry, par exemple your-company.palantirfoundry.com.
    • ID client : l'ID client de votre application tierce Palantir Foundry.
    • Secret du client : le secret du client provenant de votre application tierce Palantir Foundry.
  6. (Facultatif) Ajouter un commentaire.

  7. Cliquez sur Créer une connexion .

Étape 2 : Créer un catalogue étranger

Autorisations requises : autorisation CREATE CATALOG sur le métastore et soit la propriété de la connexion, soit le privilège CREATE FOREIGN CATALOG sur la connexion.

Un catalogue étranger reflète votre dossier racine Palantir Foundry afin que vous puissiez interroger et gérer l’accès à ses tables à l’aide de Databricks et Unity Catalog. Pour créer un catalogue étranger, utilisez la connexion que vous avez créée à l’ étape 1 : Créer une connexion.

Créez un catalogue étranger en utilisant Catalog Explorer ou la commande SQL CREATE FOREIGN CATALOG dans un Notebook Databricks ou dans l’éditeur de query Databricks SQL.

  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalog pour ouvrir l’Explorateur de catalogues.
  2. En haut du volet Catalogue, cliquez sur Icône Ajouter ou Plus l’icône Ajouter et sélectionnez Ajouter un catalogue dans le menu.
  3. Saisissez un Nom de catalogue et sélectionnez un Type de catalogue Étranger .
  4. Sélectionnez la connexion que vous avez créée à l'étape Étape 1 : Créer une connexion dans le menu déroulant.
  5. Pour Dossier racine , saisissez le dossier Palantir Foundry dans lequel Unity Catalog recherche les schémas et les tables à fédérer, par exemple /space-name/project-name/folder-name. Consultez Mappage du dossier racine et de l’espace de noms.
  6. Dans le champ Storage location , spécifiez un emplacement de stockage cloud accessible en écriture qui stocke les métadonnées des tables Iceberg dans ce catalogue. Le compte de service géré par Databricks doit disposer d’un accès en lecture-écriture à celui-ci. Cet emplacement peut être n’importe quel compartiment de stockage et n’a pas besoin d’être lié aux compartiments de table.
  7. Cliquez sur Créer un catalogue .
  8. Attribuez l’accès au workspace, un propriétaire et des privilèges comme demandé.

Unity Catalog découvre les dossiers et les tables sous le dossier racine:

  • Les sous-dossiers Palantir Foundry deviennent des schémas Unity Catalog.
  • Les tables Iceberg de Palantir Foundry deviennent des tables étrangères Unity Catalog.

Étape 3 : Accorder les autorisations et interroger le catalogue

Une fois la fédération de catalogues configurée, les utilisateurs doivent disposer des autorisations Unity Catalog appropriées pour accéder aux tables fédérées :

  • Tous les utilisateurs ont besoin des autorisations USE CATALOG et USE SCHEMA sur le catalogue et le schéma, respectivement.
  • Pour lire à partir d’une table fédérée, les utilisateurs doivent disposer de l’autorisation SELECT.

Pour plus d'informations sur les privilèges Unity Catalog et la manière de les accorder, consultez Gérer les privilèges dans Unity Catalog.

Une fois les autorisations accordées, les utilisateurs peuvent effectuer des requêtes sur les tables étrangères depuis Databricks :

SQL
SELECT * FROM <catalog-name>.<schema>.<table>;

Dossier racine et mappage d'espace de noms

Lorsque vous créez un catalogue étranger, vous spécifiez un dossier Palantir Foundry (par exemple /space-name/project-name/folder-name) comme racine de fédération. Unity Catalog mappe ses sous-dossiers vers des schémas étrangers et les tables Iceberg situées dans ces sous-dossiers deviennent des tables étrangères dans Unity Catalog. Ceci mappe la hiérarchie Foundry plus profonde sur une structure cohérente à trois niveaux.

Par exemple, si vous fédérez le dossier racine /sales/orders:

Text
Palantir Foundry object                       Unity Catalog object
──────────────────────────────────────────── ──────────────────────────────────────────────────
sales (Foundry Space)
└── orders (Foundry Project) <foreign-catalog> (Catalog)
└── shipments (Foundry Folder) <foreign-catalog>.shipments (Schema)
└── line_items (Iceberg Table) <foreign-catalog>.shipments.line_items (Table)

Le dossier que vous fédérez devient le catalogue, chaque sous-dossier devient un schéma et chaque table Iceberg devient une table étrangère.

Limitations

La fédération de catalogues Palantir Foundry présente les limitations suivantes :

  • La fédération Palantir Foundry ne peut accéder qu'aux tables Iceberg. Les vues ne sont pas prises en charge.
  • La connectivité privée au catalogue Palantir Foundry n'est pas prise en charge.
  • Les noms de schéma et de table respectent les limitations de nommage standard de Unity Catalog. Databricks ne prend pas en charge les noms contenant un point (.), un espace () ou une barre oblique (/). Voir Exigences de nommage des objets sécurisables.
  • Un dossier racine qui est un dossier à niveau unique dans Foundry (un dossier qui contient uniquement des tables et aucun sous-dossier à mapper aux schémas) ne fait apparaître aucun schéma ni aucune table. La fédération nécessite au moins un niveau de sous-dossiers pour mapper vers les schémas Unity Catalog.

Consultez Limitations pour les limitations liées à Iceberg.

Dépannage

La section suivante décrit les erreurs courantes et leurs résolutions.

Failed to create request URI ou dossier racine invalide

  • L’option root_folder ne correspond à aucun chemin d’accès de dossier dans votre instance Palantir Foundry. Vérifiez le chemin d’accès.

L’authentification a échoué lors de la création de la connexion

Les identifiants de l'application tierce Palantir Foundry ne sont pas valides, ou l'identité d'authentification n'a pas accès au dossier racine fédéré. Confirmez l'ID client et le secret (pour OAuth M2M) ou réauthentifiez-vous (pour OAuth U2M), et vérifiez que l'identité dispose des autorisations sur le dossier racine. Voir Avant de commencer.