Aller au contenu principal

Lire les données partagées via Databricks-to-Databricks OpenSharing (pour les destinataires)

Cette page décrit comment lire les données partagées avec vous en utilisant le protocole OpenSharing Databricks-to-Databricks , où Databricks gère une connexion sécurisée pour le Data Sharing. Contrairement au protocole open sharing OpenSharing, le protocole Databricks-to-Databricks ne nécessite pas de fichier d'informations d'identification (sécurité basée sur les jetons).

Le partage Databricks-to-Databricks exige que vous, en tant que destinataire, remplissiez *les deux* exigences suivantes :

  • Vous avez accès à un Workspace Databricks qui est activé pour Unity Catalog.
  • Le fournisseur utilise le protocole Databricks-to-Databricks OpenSharing, et non le protocole de partage Databricks-à-Open, qui vous fournit un fichier d'identifiants.

Si le fournisseur utilise le partage ouvert (ce qui vous fournit un fichier d’informations d’identification) mais que vous avez un Workspace compatible avec Unity Catalog, vous pouvez importer le fournisseur et lire les données partagées dans Databricks. Consultez Importer un fournisseur et lire les données partagées dans Databricks. Si vous n’avez pas de Workspace compatible avec Unity Catalog, consultez Lire les données partagées avec les jetons Bearer.

Comment rendre les données partagées disponibles à mon équipe ?

Pour lire les données et les Notebooks qui vous ont été partagés à l'aide du protocole Databricks-to-Databricks, vous devez être un utilisateur sur un Workspace Databricks qui est activé pour Unity Catalog. Un membre de votre équipe donne au fournisseur de données un identifiant unique pour votre métastore Unity Catalog, et le fournisseur de données utilise cet identifiant pour créer une connexion de partage sécurisée avec votre organisation. Les données partagées deviennent alors disponibles pour un accès en lecture dans votre Workspace. Les mises à jour que le fournisseur de données apporte aux tables, vues, volumes et partitions partagés sont reflétées dans votre Workspace en quasi temps réel.

remarque

Les modifications de colonne, telles que l'ajout, le renommage ou la suppression, peuvent ne pas apparaître dans l'Explorateur de catalogues avant une minute. De même, les nouveaux partages et les mises à jour des partages, y compris l'ajout de nouvelles tables, sont mis en cache pendant une minute avant d'être disponibles pour que vous puissiez les consulter et les query.

remarque

Les tables dans information_schema d'un catalogue partagé reflètent les métadonnées stockées dans Unity Catalog. Ces métadonnées sont mises à jour par le fournisseur uniquement lorsque vous interrogez directement la table partagée ou exécutez une commande telle que DESCRIBE ou REFRESH FOREIGN. D'ici là, information_schema pourrait apparaître obsolète par rapport aux données du fournisseur.

Pour lire les données qui vous ont été partagées :

  1. Un utilisateur de votre équipe trouve le partage — le conteneur pour les tables, vues, volumes et notebooks qui ont été partagés avec vous — et utilise ce partage pour créer un catalogue — le conteneur de plus haut niveau pour toutes les données dans Databricks Unity Catalog.
  2. Un utilisateur de votre équipe accorde ou refuse l'accès au catalogue et aux objets qu'il contient (schémas, tables, vues et volumes) aux membres de votre équipe.
  3. « Vous lisez les données dans les tables, les vues et les volumes auxquels vous avez eu accès comme tout asset de données dans Databricks pour lequel vous disposez d'un accès en lecture seule (SELECT ou READ VOLUME). »
  4. Vous pouvez prévisualiser et cloner les Notebooks dans le partage, tant que vous disposez du privilège USE CATALOG sur le catalogue.

Autorisations requises

Pour pouvoir lister et afficher les détails de tous les fournisseurs et des partages de fournisseurs, vous devez disposer du privilège USE PROVIDER. Les autres utilisateurs n’ont accès qu’aux fournisseurs et aux partages dont ils sont propriétaires.

Pour créer un catalogue à partir d’un partage de fournisseur, vous devez être un administrateur de métastore, un utilisateur qui dispose à la fois des privilèges CREATE CATALOG et USE PROVIDER pour votre métastore Unity Catalog, ou un utilisateur qui dispose à la fois du privilège CREATE CATALOG et de la propriété de l’objet fournisseur.

La possibilité d'accorder un accès en lecture seule aux schémas (bases de données), tables, vues et volumes dans le catalogue créé à partir du partage suit la hiérarchie typique des privilèges de Unity Catalog. 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, les tables et les volumes dans un catalogue OpenSharing.

Accéder aux données dans une table ou un volume partagé

Pour lire les données dans une table ou un volume partagé :

  1. Un utilisateur privilégié doit créer un catalogue à partir du partage qui contient la table ou le volume. Il peut s'agir d'un administrateur de métastore, d'un utilisateur qui dispose à la fois des privilèges CREATE CATALOG et USE PROVIDER pour votre métastore Unity Catalog, ou d'un utilisateur qui dispose à la fois du privilège CREATE CATALOG et de la propriété de l'objet fournisseur.
  2. Cet utilisateur, ou un utilisateur disposant des mêmes privilèges, doit vous accorder l'accès à la table ou au volume partagé.
  3. Vous pouvez accéder à la table ou au volume comme à tout autre asset de données enregistré dans votre métastore Unity Catalog.

Créez un catalogue à partir d'un partage

Pour rendre les données d'un partage accessibles à votre équipe, vous devez créer un catalogue à partir du partage ou associer le partage à un catalogue partagé existant. Pour créer un catalogue à partir d’un partage, vous pouvez utiliser l’explorateur de catalogue, le CLI Databricks Unity Catalog ou les commandes SQL dans un Notebook Databricks ou l’éditeur de query Databricks SQL. Pour associer le partage à un catalogue partagé existant, vous pouvez utiliser l’explorateur de catalogue.

Autorisations requises pour créer un catalogue : un administrateur de métastore, un utilisateur qui dispose à la fois des privilèges CREATE CATALOG et USE PROVIDER pour votre métastore Unity Catalog, ou un utilisateur qui dispose à la fois du privilège CREATE CATALOG et de la propriété de l'objet fournisseur.

Autorisations requises pour monter un partage sur un catalogue existant : Un utilisateur doit avoir le privilège USE PROVIDER ou être propriétaire de l'objet fournisseur, et doit également être propriétaire du catalogue partagé existant ou avoir les privilèges MANAGE et USE CATALOG sur le catalogue partagé existant.

Limitations : Si vous souhaitez ajouter un produit de données de SAP Business Data Cloud (BDC), un compute serverless ou Databricks Runtime 15 ou supérieur est requis.

remarque

Si vous créez un catalogue à partir d'un partage SAP BDC, les métadonnées sémantiques SAP (commentaires de table et de colonne, clés primaires, clés étrangères et balises de gouvernance) sont automatiquement synchronisées dans le catalogue. Aucune action supplémentaire n'est requise. Pour plus de détails, consultez les métadonnées sémantiques SAP BDC.

remarque

Si le partage inclut des vues, vous devez utiliser un nom de catalogue différent de celui du catalogue qui contient la vue dans le métastore du fournisseur.

  1. Dans votre Workspace Databricks, cliquez sur Icône de données. **Catalogue** pour ouvrir l’Explorateur de catalogues.

  2. En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage Icône d'engrenage. et sélectionnez OpenSharing .

    Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.

  3. Dans l'onglet Shared with me tab, trouvez et sélectionnez le fournisseur.

  4. Trouvez le partage souhaité et cliquez sur **Monter sur le catalogue** dans la ligne du partage.

  5. Sélectionnez Créer un nouveau catalogue ou Monter vers un catalogue existant pour ajouter l'asset de données à un catalogue existant.

  6. Saisissez un nom pour votre nouveau catalogue ou choisissez le catalogue existant auquel ajouter le partage.

  7. Cliquez sur Créer ou Monter .

Vous pouvez également, lorsque vous ouvrez l'Explorateur de catalogues, cliquer sur + > Créer un catalogue en haut à droite pour créer un catalogue partagé. Voir Créer des catalogues.

Le catalogue créé à partir d'un partage a un type de catalogue OpenSharing. Vous pouvez afficher le type sur la page des détails du catalogue dans l'explorateur de catalogues ou en exécutant la commande SQL DESCRIBE CATALOG dans un Notebook ou une query Databricks SQL. Tous les catalogues partagés sont répertoriés sous Catalog > Partagé dans le volet gauche de l'Explorateur de catalogues.

Un catalogue OpenSharing peut être géré de la même manière que les catalogues ordinaires sur un métastore Unity Catalog. Vous pouvez afficher, mettre à jour et supprimer un catalogue OpenSharing à l'aide de l'Explorateur de catalogues, du Databricks CLI et en utilisant les commandes SQL SHOW CATALOGS, DESCRIBE CATALOG, ALTER CATALOG et DROP CATALOG.

La structure d'espace de noms à 3 niveaux sous un catalogue OpenSharing créé à partir d'un partage est la même que celle sous un catalogue normal sur Unity Catalog : catalog.schema.table ou catalog.schema.volume.

Les données de table et de volume sous un catalogue partagé sont en lecture seule, ce qui signifie que vous pouvez effectuer des opérations de lecture telles que :

  • DESCRIBE, SHOW et SELECT pour les tables.
  • DESCRIBE VOLUME, LIST <volume-path>, SELECT * FROM <format>.'<volume_path>' et COPY INTO pour les volumes.

Les Notebooks d'un catalogue partagé peuvent être prévisualisés et clonés par tout utilisateur disposant de USE CATALOG sur le catalogue.

Les modèles d'un catalogue partagé peuvent être lus et chargés pour inférence par tout utilisateur disposant des privilèges suivants : privilège EXECUTE sur le modèle enregistré, plus les privilèges USE SCHEMA et USE CATALOG sur le schéma et le catalogue contenant le modèle.

Gérez les autorisations pour les schémas, les tables et les volumes dans un catalogue OpenSharing

Par default, le créateur du catalogue est le propriétaire de tous les objets de données d'un catalogue OpenSharing et peut gérer les autorisations de chacun d'entre eux.

Les privilèges sont hérités vers le bas, bien que certains Workspace puissent encore utiliser le modèle de sécurité hérité qui ne prenait pas en charge l'héritage. Voir Héritage des privilèges. Tout utilisateur disposant du privilège SELECT sur le catalogue aura 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 se voyant accorder le privilège READ VOLUME sur le catalogue aura le privilège READ VOLUME sur tous les volumes du catalogue, à moins que ce privilège ne soit révoqué. Vous ne pouvez pas accorder de privilèges qui donnent un accès en écriture ou en mise à jour à un catalogue OpenSharing ou à des objets dans un catalogue OpenSharing.

Le propriétaire du catalogue peut déléguer la propriété des objets de données à d’autres utilisateurs ou groupes, accordant ainsi à ces utilisateurs la possibilité de gérer les autorisations et les cycles de vie des objets.

Pour des informations détaillées sur la gestion des privilèges sur les objets de données à l'aide d'Unity Catalog, consultez Gérer les privilèges dans Unity Catalog.

Lire les données dans une table partagée

Vous pouvez lire les données d'une table partagée à l'aide de tous les outils à votre disposition en tant qu'utilisateur Databricks : Catalog Explorer, notebooks, SQL queries, le Databricks CLI et les Databricks REST APIs. Vous devez disposer du privilège SELECT sur la table.

Si votre fournisseur a partagé la table WITH HISTORY, vous pouvez exécuter des transactions sur la table. Pour plus d'informations concernant les exigences et les limitations des transactions, consultez Transactions.

Lire les données dans une table étrangère partagée ou un schéma étranger.

info

Bêta

Cette fonctionnalité est en Bêta. Les administrateurs du Workspace peuvent contrôler l'accès à cette fonctionnalité à partir de la page Previews . Consultez Gérer les aperçus Databricks.

Vous pouvez lire des données dans une table externe partagée ou un schéma externe à l'aide des outils mis à votre disposition en tant qu'utilisateur Databricks : Catalog Explorer, notebooks, requêtes SQL, CLI Databricks et REST APIs Databricks. Vous devez disposer du privilège SELECT sur la table étrangère partagée ou le schéma étranger.

Vous pouvez exécuter des transactions sur des tables étrangères partagées. Consulter les exigences et les limitations des transactions.

Il y a des coûts supplémentaires lors de l'accès à une table étrangère ou un schéma étranger partagé. Pour des informations sur la façon dont les coûts de partage sont calculés, consultez Comment engager et vérifier les coûts d'OpenSharing ?.

Limites : vous ne pouvez pas contourner la restriction de cluster pour lire les tables étrangères partagées, même si le fournisseur l'autorise.

Lire les données dans une table Iceberg étrangère partagée

info

Aperçu

Cette fonctionnalité est en aperçu public.

Vous pouvez lire les données d'une table Iceberg externe partagée en utilisant n'importe lequel des outils dont vous disposez en tant qu'utilisateur Databricks : l'Explorateur de catalogues, les notebooks, les requêtes SQL, le CLI Databricks et les API REST Databricks. Dans Catalog Explorer, une table Iceberg externe partagée s'affiche avec un type de table Externe et un format de source de données Iceberg .

Vous avez accès à l'emplacement Iceberg source, mais ne pouvez effectuer que les types de query suivants :

  • Requêtes d'instantanés
  • Requêtes en streaming

Exigences :

  • Vous devez disposer du privilège SELECT sur la table Iceberg étrangère partagée.
  • Vous devez utiliser Databricks Runtime 15.4 LTS ou une version ultérieure.

Lire les données dans un volume partagé

Vous pouvez lire des données dans un volume partagé en utilisant n'importe quel outil à votre disposition en tant qu'utilisateur Databricks : Catalog Explorer, Notebooks, requêtes SQL, la CLI Databricks et les APIs REST Databricks. Vous devez disposer du privilège READ VOLUME sur le volume.

Lire les données sécurisées par ABAC et appliquer les politiques ABAC

Le contrôle d'accès basé sur les attributs (ABAC) est un modèle de gouvernance des données qui offre un contrôle d'accès flexible, évolutif et centralisé sur Databricks.

Créez des politiques 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 politiques ABAC pour les tables de streaming partagées ou les vues matérialisées. Pour configurer les politiques ABAC, voir Créer et gérer des politiques de filtre de lignes et de masque de colonnes.

Lisez les colonnes de suivi des lignes dans les tables partagées

Si le fournisseur de données a activé le suivi des lignes sur une table partagée, vous pouvez query les colonnes de métadonnées de suivi des lignes. Consultez le suivi des lignes dans Databricks pour obtenir la liste des colonnes disponibles.

La façon dont vous accédez à ces colonnes dépend du type de table partagée :

  • Tables partagées avec l'historique et sans filtres de partition : Vous pouvez query les colonnes de suivi des lignes sans restrictions.

  • Tables avec des filtres de partition ou tables partagées sans historique : vous devez utiliser Scala Spark et définir explicitement l'option responseFormat sur delta.

    Scala
    spark.read.option(“responseformat”, “delta”).table(“shared_table”).select(“_metadata.row_id”).show()

Charger un modèle partagé pour l'inférence

Pour plus de détails sur le chargement d'un modèle partagé et son utilisation pour l'inférence par batch, consultez Charger une version de modèle par alias pour les charges de travail d'inférence.

Query l'historique des données 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 Timestamp. Nécessite Databricks Runtime 12.2 LTS ou une version ultérieure.

Par exemple :

SQL
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";

De plus, si le flux de données de modification (CDF) est activé pour la table, vous pouvez interroger le CDF. La version et Timestamp sont pris en charge :

SQL
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 données de modification, consultez Utiliser le flux de données de modification sur 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 le Spark Structured Streaming. Nécessite Databricks Runtime 12.2 LTS ou une 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 été réécrits dans la table source à la suite d'une opération de modification des données telle que UPDATE, MERGE INTO, DELETE (dans les partitions) ou OVERWRITE. Les lignes inchangées peuvent toujours être émises. Par conséquent, vos consommateurs en aval doivent pouvoir gérer les doublons. Les suppressions ne sont pas propagées en aval. ignoreChanges inclut ignoreDeletes. Par conséquent, si vous utilisez ignoreChanges, votre Stream ne sera perturbé ni par les suppressions ni par les mises à jour de la table source.
  • startingVersion: la version de la table partagée à partir de laquelle start. Toutes les modifications de table à partir de cette version (incluse) seront lues par la source de streaming.
  • startingTimestamp: The Timestamp to start from. Toutes les modifications de table validées à ou après le Timestamp (inclus) seront lues par la source de streaming. Exemple : "2023-01-01 00:00:00.0"
  • maxFilesPerTrigger: Le nombre de nouveaux fichiers à prendre en compte dans chaque micro-batch.
  • maxBytesPerTrigger: La quantité de données traitées dans chaque micro-batch. Cette option définit un « maximum souple », ce qui signifie qu'un batch traite environ cette quantité de données et pourrait traiter plus que la limite afin de faire avancer la query de streaming dans les cas où la plus petite unité d'entrée est supérieure à cette limite.
  • readChangeFeed: Stream lit le flux de données de modification de la table partagée.

Trigger pris en charge :

  • Trigger.ProcessingTime: Le Trigger par default, utilisé lorsqu'aucun Trigger explicite n'est spécifié. Les données sont traitées par micro-batches continus.
  • Trigger.AvailableNow: La query capture la version côté serveur de la table partagée au start, traite l'arriéré sous forme de plusieurs micro-batchs qui respectent maxFilesPerTrigger et maxVersionsPerRpc, et se termine lorsque la version capturée est épuisée. Nécessite Databricks Runtime 18.0 ou une version ultérieure pour responseFormat=delta; responseFormat=parquet nécessite en outre que le fichier JAR delta-sharing-client inclus soit en version 1.4.0 ou ultérieure (les versions antérieures reviennent à un wrapper Trigger.AvailableNow qui ne respecte pas maxVersionsPerRpc).
  • Trigger.Once: Obsolète ; utilisez Trigger.AvailableNow à la place. Sur Databricks Runtime 17.3 et versions antérieures, Trigger.AvailableNow est automatiquement converti en Trigger.Once car la prise en charge native de Trigger.AvailableNow nécessite Databricks Runtime 18.0 ou une version ultérieure.

Exemples de requêtes de Structured Streaming

Scala
spark.readStream.format("deltaSharing")
.option("startingVersion", 0)
.option("ignoreChanges", true)
.option("maxFilesPerTrigger", 10)
.table("vaccine.vaccine_us.vaccine_us_distribution")

Si le flux de données de modification (CDF) est activé avec la table, vous pouvez lire le Stream CDF.

Scala
spark.readStream.format("deltaSharing")
.option("readChangeFeed", "true")
.table("vaccine.vaccine_us.vaccine_us_distribution")

Appliquer des filtres de ligne et des masques de colonne

Pour appliquer des filtres de ligne et des masques de colonne aux tables et aux tables externes partagées par votre fournisseur de données, consultez Appliquer manuellement des filtres de ligne et des masques de colonne. Vous ne pouvez pas appliquer de masques de colonne aux tables streaming ou aux vues matérialisées.

Lisez les tables avec les vecteurs de suppression ou le mappage de colonnes activé

info

Aperçu

Cette fonctionnalité est en aperçu public.

Les vecteurs de suppression sont une fonctionnalité d'optimisation du stockage que votre fournisseur peut activer sur les tables Delta partagées. Découvrir les vecteurs de suppression dans Databricks.

Databricks prend également en charge le mappage de colonnes pour les tables Delta. Consultez Renommer et supprimer des colonnes avec le mappage de colonnes Delta Lake.

Si votre fournisseur a partagé une table avec des vecteurs de suppression ou un mappage de colonnes activés, vous pouvez effectuer des lectures par batch sur la table à l’aide d’un SQL Warehouse ou d’un cluster exécutant Databricks Runtime 14,1 ou une version ultérieure. Les requêtes CDF et streaming nécessitent Databricks Runtime 14,2 ou une version ultérieure.

Vous pouvez effectuer des queries par batch telles quelles, car elles peuvent résoudre automatiquement responseFormat en fonction des caractéristiques de la table partagée.

Pour lire un flux de données de modification (CDF) ou pour effectuer des queries en 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 query batch, CDF et streaming :

Scala
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 les tables Iceberg gérées partagées

info

Aperçu

Cette fonctionnalité est en aperçu public.

La lecture des tables Iceberg gérées partagées est la même que la lecture de tables partagées, à ces exceptions près :

Prise en charge du partage Databricks-vers-Open :

Les instructions de cet article se concentrent sur la lecture des données partagées à l’aide des interfaces utilisateur de Databricks, en particulier la syntaxe et les interfaces Unity Catalog. En raison des limites de la prise en charge des fonctionnalités avancées de Delta pour les connecteurs OpenSharing, l’interrogation des tables Iceberg gérées partagées à l’aide de Python, Tableau et Power BI n’est pas prise en charge.

Flux de données de modification :

Le flux de données de modification n'est pas pris en charge pour les tables Iceberg gérées.

Limitations de Databricks Iceberg :

Les limitations des tables Iceberg et des tables Iceberg gérées s'appliquent. Consulter Limitations.

Lire les vues partagées

La lecture des vues partagées est identique à la lecture des tables partagées, à ces exceptions près :

Restrictions des vues partagées :

  • Les vues partagées ne prennent en charge qu'un sous-ensemble de fonctions et d'opérateurs intégrés dans Databricks. Consultez les fonctions prises en charge dans le partage de vues Databricks-to-Databricks.
  • Les destinataires ne peuvent pas interroger plus de 20 vues partagées dans une query dans le partage Databricks-to-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 compute serverless dans un compte différent, vous ne pouvez pas query plusieurs vues dépendantes du même fournisseur dans une seule query. Par exemple, si view1 dépend de view2 côté fournisseur et que les deux vues sont partagées avec vous, vous ne pouvez pas référencer view1 et view2 dans la même query.
  • Vous pouvez exécuter des transactions sur des vues partagées. Consulter les exigences et les limitations des transactions.

Exigences de dénomination :

Le nom de catalogue que vous utilisez pour le catalogue partagé qui contient la vue ne peut pas être le même que celui de tout catalogue de fournisseur qui contient une table référencée par la vue. Par exemple, si la vue partagée est contenue dans votre catalogue test, et que l'une des tables du fournisseur référencées dans cette vue est contenue dans le catalogue test du fournisseur, la query entraînera une erreur de conflit d'espace de noms. Voir Créer un catalogue à partir d’un partage.

Délai d'expiration des résultats de la query :

Si vous n’avez pas d’ accès direct aux données sous-jacentes, 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 query expire. Basculez vers le compute serverless pour éviter cette limitation.

Historique et streaming :

Vous ne pouvez pas query l'historique ou utiliser une vue comme source de streaming.

Afficher le support dans le partage Databricks-vers-Open :

Les instructions de cet article se concentrent sur la lecture des données partagées à l’aide des interfaces utilisateur de Databricks, en particulier la syntaxe et les interfaces Unity Catalog. Vous pouvez également query des vues partagées à l'aide d'Apache Spark, de Python et d'outils BI comme Tableau et Power BI.

Coûts :

Pour plus d’informations sur la manière dont les coûts de partage sont calculés, consultez Comment puis-je engager et vérifier les coûts OpenSharing ?

Lire des tables de streaming partagées et des vues matérialisées

La lecture de tables de streaming et de vues matérialisées partagées est la même que la lecture de tables partagées, à ces exceptions près :

Prise en charge du partage Databricks-vers-Open :

Les instructions de cette page portent sur la lecture des données partagées à l'aide des interfaces utilisateur Databricks, notamment la syntaxe et les interfaces Unity Catalog. Vous pouvez également query les tables de streaming partagées et les vues matérialisées à l'aide d'Apache Spark, de Python et d'outils de BI tels que Tableau et Power BI. Consultez Lire les données partagées avec des jetons du porteur.

Transactions :

Limitations de SQL :

  • La fonction current_recipient n'est pas prise en charge.
  • La commande DESCRIBE EXTENDED n'est pas prise en charge.

Mappage de colonnes :

Si vous utilisez le compute classique lors de la réception d'un partage d'un autre compte Databricks, vous devez spécifier le responseFormat comme ci-dessous lors de l'interrogation d'une vue matérialisée ou de tables de streaming avec mappage de colonnes.

Python
spark.read.option("responseFormat", "delta").table("catalog_name.schema_name.mv_name")

Si vous utilisez le compute classique lors du partage au sein du même compte Databricks ou le Serverless compute dans n’importe quel scénario, vous pouvez effectuer des queries sans restrictions.

Coûts :

Pour plus d’informations sur la manière dont les coûts de partage sont calculés, consultez Comment puis-je engager et vérifier les coûts OpenSharing ?

Historique :

Vous ne pouvez pas consulter l'historique des requêtes.

refresh:

Vous ne pouvez pas accéder à l'état de refresh et au programme de refresh de la vue matérialisée.

Création de vues et de tables de streaming :

Vous ne pouvez pas créer de tables de streaming sur des vues matérialisées partagées.

Lire les UDF Python partagés

La lecture des UDF Python partagées est identique à la lecture des tables partagées. Après avoir créé un nouveau catalogue pour le partage ou monté le partage sur un catalogue existant, vous pouvez accéder et utiliser l'UDF Python.

Lecture partagée FeatureSpecs

La lecture du FeatureSpecs partagé est la même chose que la lecture de tables partagées. Après avoir créé un nouveau catalogue pour le partage ou monté le partage sur un catalogue existant, vous pouvez déployer le FeatureSpec vers votre endpoint de service souhaité. Pour savoir comment créer un endpoint, consultez Créer un endpoint.

Si votre fournisseur met à jour FeatureSpec avec une nouvelle dépendance mais ne partage pas la dépendance avec vous, votre modèle échoue. Contactez votre fournisseur de données pour vérifier les nouvelles dépendances.

Avant de servir le FeatureSpec, vous devez créer une boutique en ligne et publier les tables dépendantes dans votre Workspace. Pour savoir comment créer des magasins en ligne et publier la table, consultez Magasins de fonctionnalités en ligne Databricks.

Lire les notebooks partagés

Pour prévisualiser et cloner des fichiers Notebook partagés, vous pouvez utiliser l'Explorateur de catalogues.

**Limitation de stockage :** si votre stockage utilise des endpoints privés, vous ne pouvez pas lire les notebooks partagés.

Autorisations requises : Propriétaire du catalogue ou utilisateur disposant du privilège USE CATALOG sur le catalogue créé à partir du partage.

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

  2. Dans le volet gauche, développez le menu Catalogue , puis recherchez et sélectionnez le catalogue créé à partir du partage.

  3. Dans l'onglet Autres assets , vous verrez tous les fichiers Notebook partagés.

  4. Cliquez sur le nom d'un fichier Notebook partagé pour le prévisualiser.

  5. (Facultatif) Cliquez sur le bouton **Cloner** pour importer le fichier Notebook partagé dans votre Workspace.

    1. Dans la boîte de dialogue Cloner vers , saisissez facultativement un Nouveau nom , puis sélectionnez le dossier Workspace dans lequel vous souhaitez cloner le fichier Notebook.
    2. Cliquer sur Cloner .
    3. Une fois que le Notebook est cloné, une boîte de dialogue apparaît pour vous informer qu'il a été cloné avec succès. Cliquez sur **révéler dans l'auteur de Notebook** dans la boîte de dialogue pour le visualiser dans l'auteur de Notebook.

    Consultez Notebooks Databricks.

Démonter un partage

Démontez un partage pour supprimer la data asset de son catalogue.

Autorisations requises : Utilisateur disposant des privilèges USE CATALOG et MANAGE sur le catalogue partagé.

  1. Dans votre Workspace Databricks, cliquez sur Icône de données. **Catalogue** pour ouvrir l’Explorateur de catalogues.

  2. En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage Icône d&#39;engrenage. et sélectionnez OpenSharing .

    Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.

  3. Dans l'onglet Shared with me tab, trouvez et sélectionnez le fournisseur.

  4. Cliquez sur Icône du menu kebab. sur la ligne de partage.

  5. Cliquez sur Démonter le partage .

  6. Cliquez sur Démonter .