Activer la fédération du catalogue OneLake

Cet article explique comment lire des données dans OneLake à l’aide de la fédération de catalogue. Cela permet aux requêtes de catalogue Unity de s’exécuter directement sur le stockage OneLake.

La fédération OneLake vous permet d’analyser les données stockées dans votre Lakehouse ou Warehouse sans les copier, ce qui apporte les capacités analytiques et d’IA/BI d’Azure Databricks directement à partir de vos données OneLake. L’accès aux données est en lecture seule.

Requirements

Vous devez répondre aux exigences suivantes pour exécuter des requêtes fédérées sur OneLake à l’aide de la fédération de catalogue :

Conditions requises pour l’espace de travail :

  • Espace de travail activé pour Unity Catalog.

Voici les exigences de calcul à respecter :

Note

Dans Databricks Runtime 19 et supérieur, le calcul Azure Databricks lit les données OneLake via le point de terminaison propre de chaque espace de travail Fabric, tel que <workspace-id>.z<xy>.dfs.fabric.microsoft.com, au lieu du point de terminaison global onelake.dfs.fabric.microsoft.com. Si vous avez configuré des enregistrements DNS personnalisés ou des règles de pare-feu sortant pour le point d’accès global, assurez-vous qu’ils couvrent aussi les points de terminaison de l’espace de travail. Voir les points de terminaison OneLake supplémentaires dans la documentation Microsoft Fabric.

Conseil / Astuce

Pour réduire la latence et éviter les frais de transfert de données interrégionaux, utilisez un espace de travail Azure Databricks dans la même région Azure que la capacité Fabric qui héberge vos données.

Autorisations requises :

  • Pour créer une connexion, vous devez être un administrateur du metastore ou un utilisateur disposant des privilèges CREATE CONNECTION et CREATE STORAGE CREDENTIAL sur le metastore du catalogue Unity attaché à l’espace de travail.
  • Pour créer un catalogue étranger, vous devez disposer de l’autorisation CREATE CATALOG sur le metastore et être le propriétaire de la connexion ou disposer du privilège CREATE FOREIGN CATALOG sur la connexion.

Des exigences d’autorisation supplémentaires sont spécifiées dans chaque section basée sur les tâches qui suit.

  • Vous devez disposer des autorisations nécessaires pour créer des ressources dans Azure, configurer l’accès dans Fabric et gérer Unity Catalog dans Azure Databricks.
  • Méthodes d’authentification prises en charge :
    • Identité gérée Azure via un connecteur d’accès pour Azure Databricks
    • Principal de service Azure

Paramètres de l'espace de travail et de la structure Fabric :

  • Un administrateur Fabric doit activer la configuration du locataire Les principaux de service peuvent appeler les API publiques Fabric. Cela permet aux identités managées et aux principaux de service de s’authentifier auprès de Fabric. Pour plus d'informations, consultez la section Paramètre de configuration du locataire du principal de service.
  • Un administrateur Fabric doit activer l’autorisation des applications s’exécutant en dehors de Fabric pour accéder aux données via le paramètre de locataire OneLake . Cela permet à Azure Databricks de se connecter au stockage OneLake. Pour plus d’informations, consultez Autoriser les applications s’exécutant en dehors de Fabric à accéder aux données via OneLake.
  • Un administrateur Fabric doit activer le paramètre client Utiliser des jetons SAS délégués par l'utilisateur à durée limitée. Ce paramètre permet à OneLake d’émettre des jetons SAS à durée limitée, soutenus par Entra, qu'Azure Databricks utilise pour lire les données de OneLake. Pour plus d’informations, consultez signatures d’accès partagé OneLake.
  • Dans l’espace de travail Fabric qui contient vos données, l’authentification auprès des jetons SAS délégués par l’utilisateur OneLake doit être activée. Accédez aux paramètres de l’espace de travail>paramètres délégués>paramètres OneLake pour activer ce paramètre.
  • Si votre espace de travail Fabric restreint l’accès au réseau public entrant, la configuration dépend de son tenant. Si l'espace de travail Fabric se trouve dans le même tenant Microsoft Entra que votre espace de travail Azure Databricks, un administrateur de l'espace de travail Fabric doit ajouter l'identifiant de ressource du Access Connector for Azure Databricks aux règles d'instance de ressource de l'espace de travail. Si c’est dans un autre tenant, vous vous connectez via un point de terminaison privé. Voir Connecter à un espace de travail Fabric qui bloque l’accès public.

Les éléments de données Fabric suivants sont pris en charge :

  • Fabric Lakehouse
  • entrepôt de tissus

Configurer la fédération du catalogue

Les étapes suivantes vous guident pour créer la connexion et le catalogue externe pour la fédération OneLake.

Étape 1 : Configurer l’authentification Azure

La fédération OneLake prend en charge deux méthodes d’authentification.

  • Azure Managed Identity (recommandé) : Utilise un Access Connector pour Azure Databricks avec une identité managée.
  • Principal du service Azure : utilise une application Microsoft Entra ID avec les informations d’identification du client. Cette méthode prend en charge l’authentification inter-locataire, permettant à Azure Databricks d’accéder aux espaces de travail Fabric situés dans un autre locataire Azure. Voir Se connecter à un espace de travail Fabric dans un autre client.

Option A : Créer un connecteur d’accès (Identité managée)

Le Access Connector pour Azure Databricks crée une identité gérée qu’Azure Databricks utilise pour s’authentifier auprès de OneLake.

  1. Dans le portail Azure, recherchez et créez une ressource Connecteur d'accès pour Azure Databricks .

  2. Suivez les instructions pour créer le connecteur. Cette ressource crée une Managed Identity assignée par le système.

  3. Enregistrez l’ID de ressource du connecteur nouvellement créé. Vous avez besoin de cet ID lors de la création des informations d’identification de stockage du catalogue Unity.

    L’ID de ressource est au format suivant :

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    

Pour plus d’informations sur la création de connecteurs d’accès et l’utilisation d’identités managées, consultez Utiliser des identités managées Azure dans le catalogue Unity pour accéder au stockage.

Option B : Inscrire un principal de service

Si vous préférez utiliser un principal de service au lieu d’une identité managée :

  1. Dans le portail Azure, accédez à Microsoft Entra ID>Inscriptions d’applications et inscrivez une nouvelle application (ou utilisez-en une existante).
  2. Prenez note des valeurs ID d’application (client) et ID de l’annuaire (locataire).
  3. Sous Certificats et secrets, créez un secret client et enregistrez la valeur du secret.

Si l’espace de travail Fabric se trouve dans un autre tenant Microsoft Entra, l’application doit avoir un principal de service dans ce tenant. Voir Se connecter à un espace de travail Fabric dans un autre tenant.

Étape 2 : Accorder des autorisations dans Fabric

Accordez à l'identité managée ou au principal de service l'autorisation de lire les données de Fabric. Vous pouvez accorder un rôle d’espace de travail, qui couvre chaque élément de données de l’espace de travail, ou accorder des autorisations uniquement sur les éléments de données que vous souhaitez fédérer.

Option A : Attribuer un rôle dans l’espace de travail

  1. Dans le portail Fabric, accédez à l’espace de travail qui contient vos éléments de données Lakehouse ou Warehouse.
  2. Dans l’espace de travail, cliquez sur l’icône d’engrenage des paramètres de l’espace de travail, puis cliquez sur Gérer l’accès.
  3. Cliquez sur Ajouter des personnes ou des groupes.
  4. Recherchez et sélectionnez l’identité managée ou le principal du service. Pour Managed Identity, le nom doit correspondre au connecteur d’accès que vous avez créé précédemment. Pour un principal de service, recherchez le nom de l’application que vous avez enregistré.
  5. Attribuez au minimum à l’identité le rôle de Contributeur . Vous pouvez aussi attribuer des rôles de membre ou d’administratif .
  6. Cliquez sur Ajouter.
  7. Vérifiez que l’identité apparaît dans la liste d’accès avec le rôle approprié. Les autorisations sur les éléments individuels de Lakehouse et Warehouse sont héritées du rôle de l'espace de travail.

Option B : Accorder des autorisations sur des éléments de données individuels

Azure Databricks accède aux données OneLake via les API de OneLake ; l’identité doit donc disposer d’une autorisation accordant un accès en lecture à OneLake. L’autorisation SQL uniquement (Tout lire avec le point de terminaison d’analytique SQL) ne suffit pas.

Avant d’attribuer des permissions sur des éléments de données individuels, attribuez à l’identité le rôle Viewer au niveau de l’espace de travail Fabric. Suivez les étapes de l’option A, en sélectionnant Visualiseur au lieu de Contributeur.

  1. Dans le portail Fabric, naviguez vers l’espace de travail contenant vos éléments de données.
  2. À côté de l’élément de données que vous souhaitez fédérer, cliquez sur l’ellipse (...), puis cliquez sur Gérer les permissions.
  3. Cliquez sur Ajouter utilisateur, puis recherchez et sélectionnez l’identité gérée ou le principal de service.
  4. Sélectionnez l’autorisation Lire tout qui accorde un accès en lecture à OneLake. Selon le type d’article et votre version Fabric, cette autorisation est indiquée Lire tout avec Apache Spark ou Lire toutes les données OneLake. Pour plus d’informations, consultez les permissions des éléments dans la documentation Microsoft Fabric.
  5. Cliquez sur Accorder.
  6. Répétez ces étapes pour chaque élément de données que vous souhaitez fédérer.

Étape 3 : Créer des informations d’identification de stockage

Créez des informations d’identification de stockage dans le catalogue Unity qui référencent l’identité que vous avez configurée à l’étape 1.

  1. Dans votre espace de travail Azure Databricks, cliquez sur l’icône Données.Catalogue.
  2. En haut du volet Catalogue , cliquez sur l’icône Ajouter ou plus plus, puis sélectionnez Créer des informations d’identification dans le menu.

Si vous utilisez une identité managée :

  1. Dans le mode Créer un nouveau mode d’informations d’identification , pour Le type d’informations d’identification, choisissez Azure Managed Identity.
  2. Pour le nom de l'identifiant, entrez un nom pour l'identifiant de stockage (par exemple, onelake_storage_cred).
  3. Pour l’ID du connecteur Access, entrez l’ID de ressource du connecteur d’accès que vous avez créé précédemment.
  4. (Facultatif) Ajoutez un commentaire.
  5. Cliquez sur Créer.

Si vous utilisez un principal de service :

Vous ne pouvez pas créer d'informations d'identification de principal de service de stockage à l'aide de l'Explorateur de catalogues. Vous devez être administrateur de compte Azure Databricks et utiliser l’API Informations d’identification de stockage. Par exemple:

curl -X POST -n \
https://<databricks-instance>/api/2.1/unity-catalog/storage-credentials \
-d '{
   "name": "<storage-credential-name>",
   "read_only": true,
   "azure_service_principal": {
      "directory_id": "<directory-id>",
      "application_id": "<application-id>",
      "client_secret": "<client-secret>"
   },
   "skip_validation": "false"
   }'

Vous pouvez également créer des informations d’identification de stockage à l’aide du fournisseur Databricks Terraform et databricks_storage_credential.

Si l'espace de travail Fabric se trouve dans un autre locataire Microsoft Entra, définissez directory_id sur l'identifiant du répertoire du locataire Fabric. Voir Se connecter à un espace de travail Fabric dans un autre locataire.

Étape 4 : Créer une connexion de catalogue Unity

Créez une connexion de catalogue Unity qui utilise les informations d’identification de stockage pour accéder à OneLake.

Explorateur de catalogues

  1. Dans votre espace de travail Azure Databricks, cliquez sur l’icône Données.Catalogue.
  2. En haut du volet Catalogue , cliquez sur l’icône Ajouter ou plus plus, puis sélectionnez Créer une connexion dans le menu.
  3. Dans la page Informations de base de la connexion, entrez un nom de connexion (par exemple, onelake_connection).
  4. Sélectionnez un type de connexion de OneLake.
  5. (Facultatif) Ajoutez un commentaire.
  6. Cliquez sur Suivant.
  7. Dans la page Détails de la connexion, pour informations d’identification, sélectionnez les informations d’identification de stockage que vous avez créées à l’étape précédente (par exemple). onelake_storage_cred
  8. Pour l’espace de travail, entrez l’ID d’espace de travail de votre espace de travail Fabric.
  9. Cliquez sur Create connection (Créer la connexion).

SQL

Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks. Remplacez les valeurs d’espace réservé :

  • <connection-name>: nom de la connexion.
  • <workspace-id>: GUID de votre espace de travail OneLake.
  • <storage-credential-name>: nom des informations d’identification de stockage que vous avez créées à l’étape 3.
CREATE CONNECTION <connection-name> TYPE onelake
OPTIONS (
  workspace '<workspace-id>',
  credential '<storage-credential-name>'
);

Étape 5 : Créer un catalogue étranger

Un catalogue étranger lie un élément de données Fabric spécifique à un catalogue dans le catalogue Unity.

Obtenir l’ID d’élément de données Fabric

  1. Dans le portail Fabric, accédez à la cible Lakehouse ou Warehouse.

  2. Copiez l’ID d’élément de données, qui est un GUID (par exemple, f089354e-8366-4e18-aea3-4cb4a3a50b48).

    Vous trouverez ce GUID dans l’interface utilisateur Fabric ou en le copiant à partir de votre URL de navigateur lorsque vous accédez à Lakehouse ou Warehouse :

    https://app.fabric.microsoft.com/groups/<workspace-id>/lakehouses/<data-item-id>?experience=power-bi
    

Créer le catalogue

Explorateur de catalogues
  1. Dans votre espace de travail Databricks, cliquez sur l’icône Données.Catalogue.
  2. En haut du volet Catalogue , cliquez sur l’icône Ajouter ou plus plus, puis sélectionnez Créer un catalogue dans le menu.
  3. Dans la boîte de dialogue Créer un catalogue, entrez un nom pour le catalogue (par exemple). fabric_sales
  4. Sélectionnez un type d'étranger.
  5. Sélectionnez la connexion que vous avez créée à l’étape 4 (par exemple). onelake_connection
  6. Pour l’élément de données, entrez l’ID d’élément de données que vous avez copié à partir du portail Fabric.
  7. Pour le type d’élément, sélectionnez le type qui correspond à votre élément de données dans la liste déroulante.
  8. (Facultatif) Cliquez sur Tester la connexion pour valider votre configuration.
  9. Cliquez sur Créer.
SQL

Exécutez la commande SQL suivante dans un notebook ou l’éditeur de requête Databricks SQL. Les éléments entre crochets sont optionnels. Remplacez les valeurs d’espace réservé :

  • <catalog-name>: nom du catalogue dans Azure Databricks.
  • <connection-name>: connexion que vous avez créée à l’étape 4.
  • <data-item-id> : GUID de Fabric Lakehouse ou Warehouse.
  • <item-type>: Lakehouse ou Warehouse.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (
  data_item '<data-item-id>',
  item_type '<item-type>'
);

Vous pouvez également spécifier les paramètres facultatifs suivants :

CREATE FOREIGN CATALOG <catalog-name> USING CONNECTION <connection-name>
OPTIONS (
  data_item '<data-item-id>',
  item_type 'Lakehouse',
  create_volume_for_lakehouse_files 'true'
);
  • create_volume_for_lakehouse_files: true (par défaut) ou false. Lorsque true, crée un volume pour le dossier /Files de Lakehouse. S’applique uniquement aux éléments Lakehouse. Voir accéder aux données non structurées.

Le catalogue se synchronise automatiquement, ce qui rend les tables Fabric disponibles immédiatement.

Connectez-vous à un espace de travail Fabric dans un autre locataire

L’espace de travail Fabric que vous fédérez peut se trouver dans un tenant Microsoft Entra différent de votre espace de travail Azure Databricks. L'accès inter-locataire nécessite un principal de service dans le locataire qui contient l'espace de travail Fabric, car les identités gérées ne peuvent pas s'authentifier auprès d'un autre locataire.

Complétez les étapes de la configuration de la fédération du catalogue avec ces changements :

  1. À l’étape 1, utilisez une application Microsoft Entra qui possède un principal de service dans le locataire Fabric. L’application peut être une application monolocataire enregistrée dans le locataire Fabric, ou une application multilocataire pour laquelle un administrateur Microsoft Entra ID du locataire Fabric a accordé son consentement. Voir les objets application et principal de service dans Microsoft Entra ID.
  2. À l’étape 2, l’administrateur de l’espace de travail Fabric accorde à ce principal de service l’accès à l’espace de travail ou aux éléments de données individuels. Un administrateur du locataire Fabric doit également activer le locataire Fabric ainsi que les paramètres du locataire et de l’espace de travail listés dans les Exigences. L'application n'a pas besoin d'autorisations API dans Microsoft Entra ID.
  3. À l’étape 3, définissez directory_id sur l’ID du répertoire (tenant) du tenant Fabric, pas le vôtre. Unity Catalog utilise le principal de service pour demander des jetons au locataire qui contient l’espace de travail Fabric.

Si l’espace de travail Fabric bloque l’accès public à Internet, configurez un point de terminaison privé avant de créer la connexion à l’étape 4. Voir point de terminaison privé pour un espace de travail Fabric dans un autre locataire.

Connectez-vous à un espace de travail Fabric qui bloque l’accès public

Un espace de travail Fabric peut bloquer l’accès à OneLake depuis l’Internet public. La façon dont vous vous y connectez dépend du fait que l’espace de travail Fabric soit dans le même tenant Microsoft Entra que votre espace de travail Azure Databricks :

Espace de travail Fabric dans le même tenant

Lorsque l’espace de travail Fabric est dans le même tenant que votre espace de travail Azure Databricks, authentifiez-vous avec une identité gérée et autorisez le connecteur d’accès via une règle d’instance de ressource sur l’espace de travail Fabric. Les règles des instances de ressources ne s’appliquent pas d’un locataire à l’autre.

  1. Dans Configurer la fédération du catalogue, utilisez l’option A à l’étape 1 pour créer un connecteur d’accès, et enregistrez son identifiant de ressource. Il a le format /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>.
  2. Demandez à l’administrateur de l’espace de travail Fabric d’ajouter l’ID de ressource du connecteur d’accès comme règle d’instance de ressource. Dans l’espace de travail Fabric, l’administrateur sélectionne >Réseau entrant, restreint l’accès aux réseaux sélectionnés et aux ressources approuvées, et ajoute l’identifiant de la ressource. Un administrateur Fabric doit d’abord activer le paramètre locataire qui permet la protection du réseau entrant au niveau de l’espace de travail. Voir Gérer l’accès entrant à OneLake avec les règles d’instance des ressources dans la documentation Microsoft Fabric.
  3. Complétez les étapes restantes dans Configurer la fédération de catalogue.

Point de terminaison privé pour un espace de travail Fabric dans un autre locataire

Lorsque l'espace de travail Fabric est dans un autre locataire, Azure Databricks compute se connecte à OneLake via un point de terminaison privé au service Private Link de l'espace de travail, en utilisant une liaison privée au niveau de l’espace de travail. Consultez les connexions interlocataires à l’aide de liens privés de niveau espace de travail dans la documentation Microsoft Fabric. Un administrateur du locataire Fabric crée le service Private Link, et vous créez le point de terminaison privé comme décrit dans les sections suivantes.

Exigences:

  • Le calcul classique doit utiliser Databricks Runtime 19 ou supérieur.
  • Vous avez besoin de l'identifiant de ressource du service Private Link de l'espace de travail Fabric, que l'administrateur de l'espace de travail Fabric peut vous fournir. Il a le format /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Fabric/privateLinkServicesForFabric/<name>.

Chaque espace de travail Fabric possède son propre service Private Link, donc vous créez un point de terminaison privé pour chaque espace de travail Fabric que vous fédérez. Créez le point de terminaison privé avant de créer la connexion et le catalogue étranger dans Configurer la fédération de catalogue.

Sur un point de terminaison privé, la fédération OneLake prend en charge les tables dans les items Lakehouse et Warehouse. L’accès aux fichiers Lakehouse n’est pas pris en charge. Voir accéder aux données non structurées.

Calcul sans serveur

Databricks recommande le calcul serverless pour cette configuration, car Azure Databricks crée le point de terminaison privé et gère son DNS pour vous.

  1. Créez une configuration de connectivité réseau (NCC) et reliez-la à votre espace de travail. Voir Créer une configuration de connectivité réseau et Associer un NCC à un espace de travail.
  2. Ajoutez une règle de point de terminaison privé au NCC. Pour l’ID de ressource Azure, saisissez l’ID de ressource du service Private Link. Pour le type de sous-ressource Azure, entrez workspace. Consultez Créer des règles de point de terminaison privé.
  3. Demandez à un administrateur dans le tenant Fabric d’approuver la connexion privée en attente.
  4. Rafraîchissez la page NCC jusqu’à ce que le statut de la règle soit ESTABLISHED, puis redémarrez tout calcul serverless en cours d’exécution. Voir Redémarrer les ressources du plan de calcul serverless et tester la connexion.

Classic compute

Le calcul classique nécessite un espace de travail déployé dans votre propre réseau virtuel. Consultez Déployer Azure Databricks dans votre réseau virtuel Azure (injection de réseau virtuel).

Les étapes suivantes adaptent les étapes 5 à 7 des connexions entre locataires utilisant des liens privés de niveau espace de travail dans la documentation Microsoft Fabric. Utilisez le réseau virtuel de l’espace de travail au lieu de créer un nouveau réseau virtuel et une nouvelle machine virtuelle.

  1. Dans le portail Azure, créez un point de terminaison privé dans un sous-réseau du réseau virtuel de l'espace de travail. Sélectionnez Connect to an Azure resource by resource ID or alias, entrez l’identifiant de ressource du service Private Link, et sélectionnez workspace comme sous-ressource cible. Le Microsoft.Fabric fournisseur de ressources doit être enregistré dans l’abonnement Azure où vous créez le point de terminaison privé.
  2. Demandez à un administrateur dans le tenant Fabric d’approuver la connexion privée en attente.
  3. Créez une zone DNS privée nommée privatelink.fabric.microsoft.com et reliez-la au réseau virtuel de l’espace de travail. Assurez-vous que chaque enregistrement listé sur la page de configuration DNS du point de terminaison privé est inclus dans cette zone DNS, y compris les points de terminaison OneLake tels que <workspace-id>.z<xy>.dfs.fabric.microsoft.com. Dans ces noms, <workspace-id> on trouve l’ID de l’espace de travail Fabric sans tirets et <xy> correspond à ses deux premiers caractères.
  4. Si les règles du groupe de sécurité réseau restreignent le trafic sortant des sous-réseaux de l’espace de travail, autorisez le port 443 vers le point de terminaison privé.

Vérifier la connectivité privée

Après avoir créé le catalogue externe, interrogez une table dans celui-ci. Une requête réussie confirme que le trafic utilise le point de terminaison privé.

Vous pouvez également tester la connexion et parcourir les schémas et tables du catalogue étranger dans l’Explorateur de catalogue.

Accéder aux données non structurées

La fédération OneLake prend en charge l’accès en lecture seule aux données non structurées stockées dans le /Files dossier d’un Lakehouse. Ceci est réalisé à travers les volumes du catalogue Unity.

Note

L'accès aux fichiers Lakehouse n'est pas pris en charge pour les espaces de travail Fabric dans un autre locataire auquel vous vous connectez via un point de terminaison privé. Voir Point de terminaison privé pour un espace de travail Fabric dans un autre client. Lorsque vous créez le catalogue étranger pour l’un de ces espaces de travail, vous pouvez définir create_volume_for_lakehouse_files sur false pour éviter la création du volume.

Lorsque vous créez un catalogue étranger avec create_volume_for_lakehouse_files défini sur true (valeur par défaut), un volume est automatiquement créé sous le schéma onelake-folders. Ce volume pointe vers le /Files dossier de Lakehouse et fournit un accès en lecture seule aux fichiers stockés ici.

Vous pouvez parcourir et lire des fichiers en utilisant le chemin du volume :

LIST '/Volumes/<catalog-name>/onelake-folders/files/';
df = spark.read.format("binaryFile").load("/Volumes/<catalog-name>/onelake-folders/files/")

Vous pouvez également interroger des fichiers structurés directement :

SELECT * FROM parquet.`/Volumes/<catalog-name>/onelake-folders/files/table.parquet`

Accorder des autorisations sur des tables fédérées

Après avoir configuré la fédération de catalogue, les utilisateurs doivent disposer des autorisations de catalogue Unity appropriées pour accéder aux tables fédérées :

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

Pour plus d’informations sur les privilèges du catalogue Unity et sur la façon de les accorder, consultez Gérer les privilèges dans le catalogue Unity.

Interroger des données OneLake

Une fois la configuration terminée, vous pouvez rechercher et interroger des données OneLake dans le catalogue Unity.

Parcourir le catalogue

  1. Dans votre espace de travail Databricks, accédez à l’Explorateur de catalogues.
  2. Recherchez le catalogue que vous avez créé (par exemple). fabric_sales
  3. Élargissez le catalogue pour afficher les schémas et les tables synchronisés à partir de Fabric Lakehouse ou Warehouse.

Exécuter des requêtes

Utilisez la convention d’affectation de noms en trois parties (catalog.schema.table) dans Databricks SQL ou les notebooks :

SELECT COUNT(*)
FROM fabric_sales.silver.customer_details;
SELECT
  customer_id,
  customer_name,
  total_purchases
FROM fabric_sales.silver.customer_details
WHERE total_purchases > 1000
ORDER BY total_purchases DESC
LIMIT 10;

Limites

La fédération OneLake présente les limitations suivantes :

  • Accès en lecture seule : seules les requêtes SELECT sont prises en charge. Les opérations d’écriture ne sont pas disponibles.
  • Authentification : l’identité managée Azure et le principal de service Azure sont les méthodes d’authentification prises en charge.
  • Éléments de données pris en charge : seuls les éléments Fabric Lakehouse et Warehouse sont pris en charge.
  • Exigences de calcul : le mode d’accès dédié n’est pas pris en charge.
  • Les types de données complexes (tableaux, cartes, structs) ne sont pas pris en charge.
  • Les vues et vues matérialisées ne sont pas prises en charge.
  • Vous ne pouvez pas mettre à jour les options de connexion (par exemple workspace) après la création de la connexion.
  • Les tables avec des colonnes qui diffèrent uniquement dans le cas (par exemple, id et ID) ne sont pas prises en charge.
  • Les fichiers Lakehouse ne sont pas pris en charge pour les espaces de travail Fabric dans un autre locataire auquel vous vous connectez via un point de terminaison privé. Voir accéder aux données non structurées.