Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette page explique comment lire les données partagées avec vous à l’aide du protocole Databricks-to-Databricks Delta Sharing, où Databricks gère une connexion sécurisée pour le partage de données. Contrairement au protocole Delta Sharing de partage ouvert, le protocole Databricks-to-Databricks ne nécessite pas de fichier d’informations d’identification (sécurité basée sur un jeton).
Le partage Databricks vers Databricks nécessite que vous, en tant que destinataire, répondez aux deux exigences suivantes :
- Vous avez accès à un espace de travail Databricks activé pour le catalogue Unity.
- Le fournisseur utilise le protocole Databricks-to-Databricks Delta Sharing, et non le protocole de partage ouvert, qui vous fournit un fichier d’informations d’identification.
Si l’une de ces conditions n’est pas remplie, consultez Lire des données partagées à l’aide du partage ouvert Delta Sharing avec des jetons de porteur (pour les destinataires).
Comment rendre des données partagées disponibles pour mon équipe ?
Pour lire les données et les notebooks qui ont été partagés avec vous avec le protocole de Databricks à Databricks, vous devez être utilisateur d’un espace de travail Databricks activé pour Unity Catalog. Un membre de votre équipe donne au fournisseur de données un identificateur unique pour votre metastore Unity Catalog, et le fournisseur de données utilise cet identificateur pour créer une connexion de partage sécurisée avec votre organisation. Les données partagées sont ensuite disponibles pour l’accès en lecture dans votre espace de travail. Les mises à jour apportées par le fournisseur de données aux tables, vues, volumes et partitions partagés sont reflétées dans votre espace de travail en quasi-temps réel.
Note
Les modifications de colonne, telles que l’ajout, le changement de nom ou la suppression, peuvent ne pas apparaître dans l’Explorateur de catalogues pendant une minute maximum. De même, les nouveaux partages et mises à jour des partages, y compris l’ajout de nouvelles tables, sont mis en cache pendant une minute avant qu’ils ne soient disponibles pour vous permettre d’afficher et de interroger.
Pour lire les données qui ont été partagées avec vous :
- Un utilisateur de votre équipe recherche le partage (le conteneur des tables, vues, volumes et notebooks qui ont été partagés avec vous) et utilise ce partage pour créer un catalogue (le conteneur de niveau supérieur de toutes les données dans Databricks Unity Catalog).
- Un utilisateur de votre équipe accorde ou refuse l’accès au catalogue et aux objets du catalogue (schémas, tables, vues et volumes) aux membres de votre équipe.
- Vous lisez les données dans les tables, les vues et les volumes auxquels vous avez accordé l’accès comme n’importe quelle ressource de données dans Databricks auquel vous avez accès en lecture seule (
SELECTouREAD VOLUME). - Vous pouvez afficher un aperçu des notebooks dans le partage et les cloner, tant que vous disposez du privilège
USE CATALOGsur le catalogue.
Autorisations requises
Pour pouvoir répertorier et afficher les détails sur tous les fournisseurs et partages de fournisseurs, vous devez être un administrateur de metastore ou disposer du privilège USE PROVIDER. Les autres utilisateurs n’ont accès qu’aux fournisseurs et partages qu’ils possèdent.
Pour créer un catalogue à partir d’un partage de fournisseur, vous devez être un administrateur de metastore, un utilisateur disposant des privilèges CREATE CATALOG et USE PROVIDER pour votre metastore Unity Catalog, ou un utilisateur disposant à la fois des privilèges CREATE CATALOG et de la propriété de l’objet fournisseur.
La capacité à accorder un accès en lecture seule aux schémas (bases de données), tables, vues et volumes du catalogue créé à partir du partage suit la hiérarchie de privilèges Unity Catalog classique. La possibilité d’afficher les notebooks dans le catalogue créé à partir du partage nécessite le privilège USE CATALOG sur le catalogue. Consultez Gérer les autorisations pour les schémas, tables et volumes dans un catalogue Delta Sharing.
Voir les fournisseurs et les partages
Pour commencer à lire les données qui ont été partagées avec vous par un fournisseur de données, vous devez connaître le nom du fournisseur et les objets de partage qui sont stockés dans votre metastore Unity Catalog une fois que le fournisseur a partagé des données avec vous.
L’objet fournisseur représente le metastore Unity Catalog, la plateforme cloud et la région de l’organisation qui a partagé les données avec vous.
L’objet de partage représente les tables, volumes et vues que le fournisseur a partagés avec vous.
Voir tous les fournisseurs qui ont partagé des données avec vous
Pour consulter une liste des fournisseurs de données, vous pouvez utiliser Catalog Explorer, l’interface CLI de Databricks Unity Catalog ou la commande SQL SHOW PROVIDERS dans un notebook Azure Databricks ou dans l’éditeur de requête SQL Databricks.
Autorisations requises : vous devez être un administrateur de metastore ou disposer du privilège USE PROVIDER. Les autres utilisateurs n’ont accès qu’aux fournisseurs et parts de fournisseurs qu’ils possèdent.
Pour plus d’informations, consultez Voir les fournisseurs.
Voir les détails du fournisseur
Pour consulter les détails d’un fournisseur, vous pouvez utiliser Catalog Explorer, l’interface CLI de Databricks Unity Catalog ou la commande SQL DESCRIBE PROVIDER dans un notebook Azure Databricks ou dans l’éditeur de requête SQL Databricks.
Autorisations requises : vous devez être un administrateur de metastore, disposer du privilège USE PROVIDER ou posséder l’objet fournisseur.
Pour plus d’informations, consultez Voir les détails du fournisseur.
Voir les partages
Pour consulter les partages qu’un fournisseur a effectués avec vous, vous pouvez utiliser Catalog Explorer, l’interface CLI de Databricks Unity Catalog ou la commande SQL SHOW SHARES IN PROVIDER dans un notebook Azure Databricks ou dans l’éditeur de requête SQL Databricks.
Autorisations requises : vous devez être un administrateur de metastore, disposer du privilège USE PROVIDER ou posséder l’objet fournisseur.
Pour plus d’informations, consultez Voir les partages qu’un fournisseur a partagés avec vous.
Accéder aux données dans une table ou un volume partagé
Pour lire des données dans une table ou un volume partagé :
- Un utilisateur privilégié doit créer un catalogue à partir du partage qui contient la table ou le volume. Cette opération peut être réalisée par un administrateur de metastore, un utilisateur disposant des privilèges
CREATE CATALOGetUSE PROVIDERpour votre metastore Unity Catalog, ou un utilisateur disposant à la fois des privilègesCREATE CATALOGet de la propriété de l’objet fournisseur. - Cet utilisateur ou un utilisateur avec les mêmes privilèges doit vous accorder l’accès à la table ou au volume partagé.
- Vous pouvez accéder à la table ou au volume comme vous le feriez pour toute autre ressource de données inscrite dans votre metastore Unity Catalog.
Créer un catalogue à partir d’un partage
Pour rendre les données d’un partage accessible à votre équipe, vous devez créer un catalogue à partir du partage ou monter le partage sur un catalogue partagé existant. Pour créer un catalogue à partir d’un partage, vous pouvez utiliser Catalog Explorer, l’interface CLI Databricks Unity Catalog ou des commandes SQL dans un notebook Azure Databricks ou dans l’éditeur de requête Databricks SQL. Pour monter le partage sur un catalogue partagé existant, vous pouvez utiliser l’Explorateur de catalogues.
Autorisations requises pour créer un catalogue : administrateur de metastore, utilisateur disposant à la fois des privilèges CREATE CATALOG et USE PROVIDER pour votre metastore du catalogue Unity, ou d’un utilisateur disposant à la fois du privilège CREATE CATALOG et de la propriété de l’objet fournisseur.
Autorisations requises pour monter le partage sur un catalogue existant : un utilisateur doit avoir le privilège ou avoir la USE PROVIDER propriété de l’objet fournisseur, et doit également posséder le catalogue partagé existant ou disposer MANAGE de privilèges sur USE CATALOG le catalogue partagé existant.
Note
Si le partage inclut des vues, vous devez utiliser un nom de catalogue différent du nom du catalogue qui contient l’affichage dans le metastore du fournisseur.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur
Catalogue pour ouvrir l’Explorateur de catalogues.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage
et sélectionnez Partage Delta.
Vous pouvez également, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Éléments partagés avec moi, recherchez et sélectionnez le destinataire.
Recherchez le partage souhaité, puis cliquez sur Monter dans le catalogue sur la ligne de partage.
Sélectionnez Créer un catalogue ou monter sur un catalogue existant pour ajouter la ressource de données à un catalogue existant.
Entrez un nom pour votre nouveau catalogue ou choisissez le catalogue existant auquel ajouter le partage.
Cliquez sur Créer ou monter.
Vous pouvez également cliquer sur + > Créer un catalogue en haut à droite pour créer un catalogue partagé lorsque vous ouvrez l’Explorateur de catalogues. Consultez Créer des catalogues.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks.
CREATE CATALOG [IF NOT EXISTS] <catalog-name>
USING SHARE <provider-name>.<share-name>;
CLI
databricks catalogs create <catalog-name> /
--provider-name <provider-name> /
--share-name <share-name>
Le catalogue créé à partir d’un partage est de type Delta Sharing. Vous pouvez afficher le type dans la page détails du catalogue dans l’Explorateur de catalogues ou en exécutant la commande DESCRIBE CATALOG SQL dans un notebook ou une requête Databricks SQL. Tous les catalogues partagés sont répertoriés sous Catalog > Shared dans le volet gauche de Catalog Explorer.
Un catalogue de Delta Sharing peut être géré de la même façon que les catalogues réguliers sur un metastore de catalogue Unity. Vous pouvez voir, mettre à jour et supprimer un catalogue Delta Sharing en utilisant Catalog Explorer, l’interface CLI Databricks et les commandes SQL SHOW CATALOGS, DESCRIBE CATALOG, ALTER CATALOG et DROP CATALOG.
La structure d’espace de noms de niveau 3 sous un catalogue Delta Sharing créé à partir d’un partage est la même que celle d’un catalogue standard sur Unity Catalog : catalog.schema.table ou catalog.schema.volume.
Les données de table et de volume d’un catalogue partagé sont en lecture seule, ce qui signifie que vous pouvez effectuer des opérations de lecture telles que :
-
DESCRIBE,SHOWetSELECTpour les tables. -
DESCRIBE VOLUME,LIST <volume-path>,SELECT * FROM <format>.'<volume_path>'etCOPY INTOpour les volumes.
Les notebooks d’un catalogue partagé peuvent être prévisualisés et clonés par n’importe quel utilisateur avec USE CATALOG dans le catalogue.
Les modèles d’un catalogue partagé peuvent être lus et chargés pour l’inférence par n’importe quel utilisateur disposant des privilèges suivants : privilège EXECUTE sur le modèle inscrit, ainsi que les privilèges USE SCHEMA et USE CATALOG sur le schéma et le catalogue contenant le modèle.
Gérer les autorisations pour les schémas, tables et volumes dans un catalogue Delta Sharing
Par défaut, le créateur du catalogue est le propriétaire de tous les objets de données d’un catalogue Delta Sharing et peut gérer les autorisations de n’importe lequel d’entre eux.
Les privilèges sont hérités de manière descendante, bien que certains espaces de travail puissent toujours être sur l'ancien modèle de sécurité qui ne permettait pas l'héritage. Consultez Modèle d’héritage. Tout utilisateur ayant reçu le privilège SELECT sur le catalogue a le privilège SELECT sur tous les schémas et tables du catalogue, sauf si ce privilège est révoqué. De même, tout utilisateur ayant reçu le privilège READ VOLUME sur le catalogue a le privilège READ VOLUME sur tous les volumes du catalogue, sauf si ce privilège est révoqué. Vous ne pouvez pas accorder de privilèges donnant un accès d’écriture ou de mise à jour sur un catalogue Delta Sharing ou sur des objets dans un catalogue Delta Sharing.
Le propriétaire du catalogue peut déléguer la propriété des objets de données à d’autres utilisateurs ou groupes, ce qui leur permet de gérer les autorisations et les cycles de vie des objets.
Pour plus d’informations sur la gestion des privilèges sur les objets de données en utilisant Unity Catalog, consultez Gérer les privilèges dans Unity Catalog.
Lire des données dans une table partagée
Vous pouvez lire des données dans une table partagée en utilisant un des outils disponibles pour vous en tant qu’utilisateur Azure Databricks : Catalog Explorer, notebooks, requêtes SQL, interface CLI Databricks et API REST Databricks. Vous devez disposer du privilège SELECT sur la table.
Lire des données dans une table étrangère partagée ou un schéma étranger
Important
Cette fonctionnalité est en version bêta. Les administrateurs d’espace de travail peuvent contrôler l’accès à cette fonctionnalité à partir de la page Aperçus . Consultez Gérer les préversions d’Azure Databricks.
Vous pouvez lire des données dans une table étrangère partagée ou un schéma étranger à l’aide de l’un des outils disponibles en tant qu’utilisateur Azure Databricks : Explorateur de catalogues, notebooks, requêtes SQL, interface CLI Databricks et API REST Databricks. Vous devez disposer du SELECT privilège sur la table étrangère partagée ou le schéma étranger.
Il existe des coûts supplémentaires lors de l’accès à une table étrangère partagée ou à un schéma étranger. Pour plus d’informations sur la façon dont les coûts de partage sont calculés, consultez Comment puis-je engager et vérifier les coûts de partage Delta ?.
Lire des données dans un volume partagé
Vous pouvez lire des données dans un volume partagé en utilisant l’un des outils disponibles pour vous en tant qu’utilisateur Azure Databricks : Catalog Explorer, notebooks, requêtes SQL, interface CLI Databricks et API REST Databricks. Vous devez disposer du privilège READ VOLUME sur le volume.
Lire les données sécurisées par ABAC et appliquer des stratégies ABAC
Important
Cette fonctionnalité est disponible en préversion publique.
Le contrôle d’accès basé sur des attributs (ABAC) est un modèle de gouvernance des données qui fournit un contrôle d’accès flexible, évolutif et centralisé dans Azure Databricks.
Les administrateurs de compte côté destinataire doivent activer le Contrôle d’Accès Basé sur les Attributs pour le Partage Delta dans les versions préliminaires de la console de compte pour accéder aux tables partagées protégées par des stratégies ABAC. Cela garantit que les résultats de la requête sont corrects. Sinon, il existe un risque que les données ne soient pas correctement régies.
Créez des stratégies ABAC pour les tables, schémas et catalogues partagés créés à partir d’un partage. Les vues matérialisées sont prises en charge avec des limitations. Vous ne pouvez pas créer de stratégies ABAC pour les tables de diffusion en continu partagées ou les vues matérialisées. Pour configurer des stratégies ABAC, consultez Créer et gérer des stratégies de contrôle d’accès en fonction des attributs (ABAC).
Charger un modèle partagé pour l’inférence
Pour plus d’informations sur le chargement d’un modèle partagé et son utilisation pour l’inférence par lots, consultez Charger une version de modèles par alias pour les charges de travail d’inférence.
Interroger les données d’historique d’une table
Si l’historique est partagé avec la table, vous pouvez interroger les données de la table à partir d’une version ou d’un horodatage. Nécessite Databricks Runtime 12.2 LTS ou version ultérieure.
Par exemple:
SELECT * FROM vaccine.vaccine_us.vaccine_us_distribution VERSION AS OF 3;
SELECT * FROM vaccine.vaccine_us.vaccine_us_distribution TIMESTAMP AS OF "2023-01-01 00:00:00";
En outre, si le flux de changements de données (CDF, Change Data Feed) est activé avec la table, vous pouvez interroger le CDF. La version et l’horodatage sont pris en charge :
SELECT * FROM table_changes('vaccine.vaccine_us.vaccine_us_distribution', 0, 3);
SELECT * FROM table_changes('vaccine.vaccine_us.vaccine_us_distribution', "2023-01-01 00:00:00", "2022-02-01 00:00:00");
Pour plus d’informations sur le flux de changements de données, consultez Utiliser le flux de changements de données Delta Lake sur Azure Databricks.
Interroger une table à l’aide d’Apache Spark Structured Streaming
Si une table est partagée avec l’historique, vous pouvez l’utiliser comme source pour Spark Structured Streaming. Nécessite Databricks Runtime 12.2 LTS ou version ultérieure.
Options prises en charge :
-
ignoreDeletes: ignorer les transactions qui suppriment des données. -
ignoreChanges: retraiter les mises à jour si les fichiers ont dû être réécrits dans la table source en raison d’une opération de modification des données telle queUPDATE,MERGE INTO,DELETE(dans les partitions) ouOVERWRITE. Des lignes inchangées peuvent toujours être émises. Par conséquent, vos consommateurs en aval doivent être en mesure de gérer les doublons. Les suppressions ne sont pas propagées en aval.ignoreChangesenglobeignoreDeletes. Par conséquent, si vous utilisezignoreChanges, votre flux n’est pas interrompu par des suppressions ni des mises à jour de la table source. -
startingVersion: version de table partagée à partir de laquelle démarrer. Toutes les modifications de table à partir de cette version (incluse) seront lues par la source de streaming. -
startingTimestamp: Timestamp de départ. Toutes les modifications de table validées à partir de ce timestamp (inclus) seront lues par la source de streaming. Exemple :"2023-01-01 00:00:00.0" -
maxFilesPerTrigger: nombre de nouveaux fichiers à prendre en compte dans chaque micro-lot. -
maxBytesPerTrigger: quantité de données traitées dans chaque micro-lot. Cette option définit une valeur « soft max », qui signifie qu’un lot traite approximativement cette quantité de données et peut traiter plus que la limite afin de faire avancer la requête de diffusion en continu dans les cas où la plus petite unité d’entrée est supérieure à cette limite. -
readChangeFeed: diffuser en continu le flux de changements de données de la table partagée.
Options non prises en charge :
Trigger.availableNow
Exemples de requêtes Structured Streaming
Scala
spark.readStream.format("deltaSharing")
.option("startingVersion", 0)
.option("ignoreChanges", true)
.option("maxFilesPerTrigger", 10)
.table("vaccine.vaccine_us.vaccine_us_distribution")
Python
spark.readStream.format("deltaSharing")\
.option("startingVersion", 0)\
.option("ignoreDeletes", true)\
.option("maxBytesPerTrigger", 10000)\
.table("vaccine.vaccine_us.vaccine_us_distribution")
Si le flux de changements de données (CDF) est activé pour la table, vous pouvez lire le CDF en flux continu.
spark.readStream.format("deltaSharing")
.option("readChangeFeed", "true")
.table("vaccine.vaccine_us.vaccine_us_distribution")
Appliquer des filtres de lignes et des masques de colonne
Pour appliquer des filtres de lignes et des masques de colonne sur des tables et des tables étrangères partagées par votre fournisseur de données, consultez Appliquer manuellement des filtres de lignes et des masques de colonne. Vous ne pouvez pas appliquer de masques de colonnes à des tables de streaming ou à des vues matérialisées.
Lire des tables avec un mappage de colonnes ou des vecteurs de suppression activés
Important
Cette fonctionnalité est disponible en préversion publique.
Les vecteurs de suppression sont une fonctionnalité d’optimisation du stockage que votre fournisseur peut activer sur les tables Delta partagées. Consultez Que sont les vecteurs de suppression ?.
Azure Databricks prend également en charge le mappage de colonnes pour des tables Delta. Consultez Renommer et supprimer des colonnes avec le mappage de colonnes Delta Lake.
Si votre fournisseur a partagé une table avec un mappage de colonnes ou des vecteurs de suppression activés, vous pouvez effectuer des lectures par lots sur la table à l’aide d’un entrepôt SQL ou d’un cluster exécutant Databricks Runtime 14.1 ou version ultérieure. Les requêtes CDF et de streaming nécessitent Databricks Runtime 14.2 ou version ultérieure.
Vous pouvez effectuer des requêtes par lots telles quelles, car elles peuvent résoudre automatiquement responseFormat en fonction des fonctionnalités de table de la table partagée.
Pour lire un flux des changements de données (CDF) ou pour effectuer des requêtes de streaming sur des tables partagées avec des vecteurs de suppression ou un mappage de colonnes activé, vous devez définir l’option supplémentaire responseFormat=delta.
Les exemples suivants montrent les requêtes batch, CDF et de streaming :
import org.apache.spark.sql.SparkSession
// Batch query
spark.read.format("deltaSharing").table(<tableName>)
// CDF query
spark.read.format("deltaSharing")
.option("readChangeFeed", "true")
.option("responseFormat", "delta")
.option("startingVersion", 1)
.table(<tableName>)
// Streaming query
spark.readStream.format("deltaSharing").option("responseFormat", "delta").table(<tableName>)
Lire des tables Iceberg managées partagées
Important
Cette fonctionnalité est disponible en préversion publique.
La lecture des tables Iceberg gérées partagées est la même que la lecture des tables partagées, à l’exception suivante :
Prise en charge du partage ouvert :
Les instructions de cet article se concentrent sur la lecture de données partagées à l’aide d’interfaces utilisateur Azure Databricks, en particulier la syntaxe et les interfaces Unity Catalog. En raison des limitations concernant la prise en charge avancée des fonctionnalités Delta pour les connecteurs de partage Delta, les requêtes sur les tables Iceberg gérées partagées utilisant Python, Tableau et Power BI ne sont pas prises en charge.
Changer le flux de données :
Le flux de données modifiées n’est pas pris en charge pour les tables Iceberg gérées.
Limitations d’Azure Databricks Iceberg :
Les limitations des tables Iceberg et des tables Iceberg managées s’appliquent. Consultez les limitations de la table Iceberg.
Lire les vues partagées
La lecture des vues partagées est identique à la lecture de tableaux partagés, à quelques exceptions près :
Restrictions relatives aux vues partagées :
- Les vues partagées prennent uniquement en charge un sous-ensemble de fonctions et d’opérateurs intégrés dans Databricks. Consultez Fonctions prises en charge dans les vues partagées Databricks-to-Databricks.
- Les destinataires ne peuvent pas interroger plus de 20 vues partagées dans une requête dans le cadre d'un partage Databricks à Databricks. Les vues partagées ne peuvent pas provenir de plus de cinq partages de fournisseurs différents.
- Lorsque le fournisseur provient du même compte ou lorsque vous utilisez le calcul serverless dans un autre compte, vous ne pouvez pas interroger plusieurs vues dépendantes du même fournisseur dans une seule requête.
Par exemple, si
view1dépend deview2du côté fournisseur et que les deux vues sont partagées avec vous, vous ne pouvez pas référencer à la foisview1etview2dans la même requête.
Exigences concernant l’affectation des noms:
Le nom du catalogue que vous utilisez pour le catalogue partagé contenant la vue ne peut pas être identique à celui d'un catalogue fournisseur contenant un tableau référencé par la vue. Par exemple, si la vue partagée est contenue dans votre test catalogue et que l’une des tables du fournisseur référencées dans cette vue est contenue dans le catalogue du test fournisseur, la requête entraîne une erreur de conflit d’espace de noms. Consultez Créer un catalogue à partir d’un partage.
Délai d’expiration du résultat de la requête :
Si vous n’avez pas d’accès direct aux données sous-jacentes, Azure Databricks effectue une matérialisation à la volée lors de l’interrogation de la vue. Lorsque cette matérialisation prend plus de 5 minutes, la requête expire. Basculez vers le calcul serverless pour éviter cette limitation.
Historique et diffusion en continu :
Vous ne pouvez pas interroger l’historique ou utiliser une vue comme source de streaming.
Afficher la prise en charge dans le partage ouvert :
Les instructions de cet article se concentrent sur la lecture de données partagées à l’aide d’interfaces utilisateur Azure Databricks, en particulier la syntaxe et les interfaces Unity Catalog. Vous pouvez également interroger des vues partagées à l’aide d’Outils Apache Spark, Python et BI tels que Tableau et Power BI.
Costs:
Pour plus d’informations sur la façon dont les coûts de partage sont calculés, consultez Comment puis-je engager et vérifier les coûts de partage Delta ?.
Lire les tables de diffusion en continu partagées et les vues matérialisées
La lecture de tables de diffusion en continu partagées et de vues matérialisées est la même que la lecture de tables partagées, à l’exception suivante :
Prise en charge du partage ouvert :
Les instructions de cet article se concentrent sur la lecture de données partagées à l’aide d’interfaces utilisateur Azure Databricks, en particulier la syntaxe et les interfaces Unity Catalog. Vous pouvez également interroger des tables de diffusion en continu partagées et des vues matérialisées à l’aide d’Apache Spark, Python et d’outils BI tels que Tableau et Power BI.
Limitations SQL :
- La fonction
current_recipientn’est pas prise en charge. - La
DESCRIBE EXTENDEDcommande n’est pas prise en charge.
Mappage de colonnes :
Si vous utilisez le calcul classique lors de la réception d’un partage à partir d’un autre compte Azure Databricks, vous devez spécifier le responseFormat comme ci-dessous lorsque vous interrogez une vue matérialisée ou des tables de diffusion en continu avec le mappage de colonnes.
spark.read.option("responseFormat", "delta").table("catalog_name.schema_name.mv_name")
Si vous utilisez le calcul classique lors du partage au sein du même compte Azure Databricks ou d’un calcul serverless dans n’importe quel scénario, vous pouvez interroger sans restrictions.
Costs:
Pour plus d’informations sur la façon dont les coûts de partage sont calculés, consultez Comment puis-je engager et vérifier les coûts de partage Delta ?.
Exceptions spécifiques de vue matérialisée
History:
Vous ne pouvez pas interroger l’historique.
Refresh:
Vous ne pouvez pas accéder à l’état d’actualisation et à la planification d’actualisation de la vue matérialisée.
Afficher et diffuser en continu la création d’une table :
Vous ne pouvez pas créer de tables de diffusion en continu sur des vues matérialisées partagées.
Exceptions spécifiques de table de diffusion en continu
History:
L’historique des requêtes est disponible dans les circonstances de partage Databricks-to-Databricks suivantes :
Vous utilisez le calcul serverless lors du partage avec un autre compte Azure Databricks.
Vous utilisez le calcul serverless ou classique lorsque vous partagez au sein du même compte Azure Databricks.
Pour plus d’informations sur les différents calculs, consultez Calcul.
Refresh:
Vous ne pouvez pas accéder à l’état d’actualisation et à la planification d’actualisation de la table de diffusion en continu.
Lire les UDF Python partagées
La lecture des fonctions définies par l’utilisateur Python partagées est identique à la lecture de tables partagées. Après avoir créé un catalogue pour le partage ou monté le partage sur un catalogue existant, vous pouvez accéder à la fonction UDF Python et l’utiliser.
Lire les ressources partagéesFeatureSpecs
La lecture partagée FeatureSpecs est identique à la lecture de tables partagées. Une fois que vous avez créé un catalogue pour le partage ou monté le partage sur un catalogue existant, vous pouvez le déployer FeatureSpec vers votre point de terminaison de service souhaité. Pour savoir comment créer un point de terminaison, consultez Créer un point de terminaison.
Si votre fournisseur met à jour FeatureSpec avec une nouvelle dépendance mais ne partage pas la dépendance avec vous, votre modèle tombe en panne. Contactez votre fournisseur de données pour rechercher les nouvelles dépendances.
Avant de servir le FeatureSpec, vous devez créer un magasin en ligne et publier les tables dépendantes dans votre espace de travail. Pour apprendre à créer des feature stores en ligne et à publier la table, consultez Databricks Online Feature Stores.
Lire des blocs-notes partagés
Pour afficher un aperçu et cloner des fichiers de notebook partagés, vous pouvez utiliser Catalog Explorer.
Limitation du stockage : Si votre stockage utilise des points de terminaison privés, vous ne pouvez pas lire les notebooks partagés.
Autorisations requises : propriétaire ou utilisateur du catalogue disposant du privilège USE CATALOG sur le catalogue créé à partir du partage.
Dans votre espace de travail Azure Databricks, cliquez sur
Catalogue.
Dans le volet gauche, développez le menu Catalogue, recherchez et sélectionnez le catalogue créé à partir du partage.
Sous l’onglet Autres ressources , vous verrez tous les fichiers de notebook partagés.
Cliquez sur le nom d’un fichier de bloc-notes partagé pour afficher un aperçu.
(Facultatif) Cliquez sur le bouton Cloner pour importer le fichier de notebook partagé dans votre espace de travail.
- Dans la boîte de dialogue Cloner sur, entrez éventuellement un Nouveau nom, puis sélectionnez le dossier de l’espace de travail dans lequel vous souhaitez cloner le fichier de notebook.
- Cliquez sur Cloner.
- Une fois le notebook cloné, une boîte de dialogue s’affiche pour vous informer que le clonage a réussi. Cliquez sur Révéler dans l’éditeur de notebook dans la boîte de dialogue pour l’afficher dans l’éditeur de notebook.
Consultez Notebooks Databricks.
Démonter un partage
Démonter un partage pour supprimer la ressource de données de son catalogue.
Autorisations requises : Utilisateur disposant des privilèges USE CATALOG et MANAGE sur le catalogue partagé.
Dans votre espace de travail Azure Databricks, cliquez sur
Catalogue pour ouvrir l’Explorateur de catalogues.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage
et sélectionnez Partage Delta.
Vous pouvez également, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Éléments partagés avec moi, recherchez et sélectionnez le destinataire.
Cliquez sur
sur la ligne de partage.
Cliquez sur Détacher le partage.
Cliquez sur Démonter.