Aller au contenu principal

Créer des partages pour OpenSharing

Cette page explique comment créer des partages pour OpenSharing.

Un partage est un objet sécurisable dans Unity Catalog que vous utilisez pour partager les data assets suivants avec un ou plusieurs destinataires :

Si vous partagez un schéma entier (base de données), le destinataire peut accéder à toutes les tables, tables de streaming, vues, vues matérialisées, modèles et volumes du schéma au moment où vous le partagez, ainsi qu'à toutes les données et assets d'IA ajoutés au schéma à l'avenir.

Un partage peut contenir des données et des assets d'IA provenant d'un seul métastore Unity Catalog. Vous pouvez ajouter ou supprimer des données et des assets d'IA d'un partage à tout moment.

Avant de créer un partage, vérifiez que vous avez Configuré OpenSharing pour votre compte (pour les fournisseurs).

Pour en savoir plus sur le modèle de partage, consultez Partages, fournisseurs et destinataires.

Exigences

Vérifiez que vous remplissez les exigences énumérées pour chaque tâche que vous souhaitez effectuer.

astuce

Lors de l'ajout d'assets de données à un partage, Databricks recommande d'utiliser un groupe comme propriétaire du partage.

Tâche

Exigences

Créer un partage

  • Avoir le privilège CREATE SHARE pour le métastore Unity Catalog où les données que vous souhaitez partager sont enregistrées.
  • Créez le partage en utilisant un Workspace Databricks auquel ce metastore Unity Catalog est rattaché.

Ajoutez ce qui suit à un partage :

  • Tables
  • Tables de streaming
  • Tables Iceberg gérées
  • Tables étrangères
  • Tables Iceberg externes
  • Vues
  • Vues matérialisées
  • Soyez le propriétaire du partage.
  • Disposez du privilège USE CATALOG et USE SCHEMA sur le catalogue et le schéma qui contiennent la ressource de données.
  • Avoir le privilège SELECT sur l'asset de données. Vous devez conserver ce privilège pour que l'asset puisse continuer à être partagé. Si vous le perdez, le destinataire ne pourra pas accéder à l'asset via le partage.

Partager un schéma entier ou un schéma externe

  • Soyez le propriétaire du partage et le propriétaire du schéma, ou disposez de USE SCHEMA.
  • Disposez de SELECT sur le schéma pour partager des tables.
  • Ayez READ VOLUME sur le schéma pour partager des volumes.

Ajouter des volumes à un partage

  • Soyez le propriétaire du partage.
  • Disposer des privilèges USE CATALOG et USE SCHEMA sur le catalogue et le schéma qui contiennent le volume, ou être propriétaire du catalogue ou du schéma.
  • Disposez du privilège READ VOLUME sur le volume. Vous devez conserver ce privilège afin que le volume continue d'être partagé. Si vous le perdez, le destinataire ne peut pas accéder au volume via le partage.

Ajouter des UDF Python à un partage

  • Soyez le propriétaire du partage.
  • Disposez du privilège USE CATALOG et USE SCHEMA sur le catalogue et le schéma qui contiennent l'UDF Python, ou de la propriété du catalogue ou du schéma.
  • Avoir le privilège EXECUTE sur l'UDF Python. Vous devez conserver ce privilège pour que l'UDF Python continue d'être partagé. Si vous le perdez, le destinataire ne pourra pas accéder à l'UDF Python via le partage.

Ajouter des modèles à un partage

  • Soyez le propriétaire du partage.
  • Disposez du privilège USE CATALOG et USE SCHEMA sur le catalogue et le schéma qui contiennent le modèle, ou de la propriété du catalogue ou du schéma.
  • Avoir le privilège EXECUTE sur le modèle. Vous devez conserver ce privilège pour que le modèle puisse continuer à être partagé. Si vous le perdez, le destinataire ne peut pas accéder au modèle via le partage.

Ajouter des fichiers Notebook à un partage.

  • Soyez le propriétaire du partage, avec la permission CAN READ sur le notebook.

Tâche

Exigences

Créer un partage

  • Avoir le privilège CREATE SHARE pour le métastore Unity Catalog où les données que vous souhaitez partager sont enregistrées.
  • Créez le partage en utilisant un Workspace Databricks auquel ce metastore Unity Catalog est rattaché.

Ajoutez ce qui suit à un partage :

  • Tables
  • Tables de streaming
  • Tables Iceberg gérées
  • Tables étrangères
  • Tables Iceberg externes
  • Vues
  • Vues matérialisées
  • Soyez le propriétaire du partage.
  • Disposez du privilège USE CATALOG et USE SCHEMA sur le catalogue et le schéma qui contiennent la ressource de données.
  • Avoir le privilège SELECT sur l'asset de données. Vous devez conserver ce privilège pour que l'asset puisse continuer à être partagé. Si vous le perdez, le destinataire ne pourra pas accéder à l'asset via le partage.

Partager un schéma entier ou un schéma externe

  • Soyez le propriétaire du partage et le propriétaire du schéma, ou disposez de USE SCHEMA.
  • Disposez de SELECT sur le schéma pour partager des tables.
  • Ayez READ VOLUME sur le schéma pour partager des volumes.

Ajouter des volumes à un partage

  • Soyez le propriétaire du partage.
  • Disposer des privilèges USE CATALOG et USE SCHEMA sur le catalogue et le schéma qui contiennent le volume, ou être propriétaire du catalogue ou du schéma.
  • Disposez du privilège READ VOLUME sur le volume. Vous devez conserver ce privilège afin que le volume continue d'être partagé. Si vous le perdez, le destinataire ne peut pas accéder au volume via le partage.

Ajouter des UDF Python à un partage

  • Soyez le propriétaire du partage.
  • Disposez du privilège USE CATALOG et USE SCHEMA sur le catalogue et le schéma qui contiennent l'UDF Python, ou de la propriété du catalogue ou du schéma.
  • Avoir le privilège EXECUTE sur l'UDF Python. Vous devez conserver ce privilège pour que l'UDF Python continue d'être partagé. Si vous le perdez, le destinataire ne pourra pas accéder à l'UDF Python via le partage.

Ajouter des modèles à un partage

  • Soyez le propriétaire du partage.
  • Disposez du privilège USE CATALOG et USE SCHEMA sur le catalogue et le schéma qui contiennent le modèle, ou de la propriété du catalogue ou du schéma.
  • Avoir le privilège EXECUTE sur le modèle. Vous devez conserver ce privilège pour que le modèle puisse continuer à être partagé. Si vous le perdez, le destinataire ne peut pas accéder au modèle via le partage.

Ajouter des fichiers Notebook à un partage.

  • Soyez le propriétaire du partage, avec la permission CAN READ sur le notebook.

Exigences en matière de compute

  • Si vous utilisez un notebook Databricks pour créer le partage, votre ressource de compute doit utiliser Databricks Runtime 11.3 LTS ou une version ultérieure et disposer d'un mode d'accès standard ou dédié (anciennement partagé et utilisateur unique).
  • Si vous utilisez des instructions SQL pour ajouter un schéma à un partage (ou mettre à jour ou supprimer un schéma), vous devez utiliser un SQL Warehouse ou un compute exécutant Databricks Runtime 13,3 LTS ou une version ultérieure. Faire de même avec Catalog Explorer n'a aucune exigence de compute.

Créer un objet de partage

Vérifiez que vous remplissez les exigences avant de créer un objet de partage.

Pour créer un partage, utilisez l'Explorateur de catalogues, l'interface CLI Databricks Unity Catalog ou la commande SQL CREATE SHARE dans un Notebook Databricks ou l'éditeur de requêtes Databricks SQL.

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

  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. Sur la tab Shared by me , cliquez sur le bouton Partager les données .

  4. Sur la page Créer un partage , saisissez le Nom du partage et un commentaire facultatif.

  5. Cliquez sur Enregistrer et continuer .

    Vous pouvez continuer d'ajouter des assets de données, ou vous pouvez vous arrêter et revenir plus tard.

  6. Dans l'onglet **Ajouter des assets de données**, sélectionnez les assets de données que vous souhaitez partager.

    Pour des instructions détaillées, des exigences supplémentaires et des limitations connexes, consultez :

  7. Cliquez sur Enregistrer et continuer .

  8. Sur le tab Ajouter des notebooks , sélectionnez les notebooks que vous souhaitez partager.

    Pour des instructions détaillées, consultez Ajouter des fichiers notebook à un partage.

  9. Cliquez sur Enregistrer et continuer .

  10. Dans l’onglet Ajouter des destinataires , sélectionnez les destinataires avec lesquels vous souhaitez partager.

    Pour des instructions détaillées, consultez Gérer l'accès aux partages de données OpenSharing (pour les fournisseurs).

  11. Cliquez sur Partager les données pour partager les données avec les destinataires.

    Si vous n’avez pas encore créé de destinataires, cliquez sur **Partager les données**, créez des destinataires et accordez-leur l’accès ultérieurement.

Ajoutez des tables à un partage

Assurez-vous que vous remplissez les exigences avant d'ajouter des tables à un partage.

Si vous êtes administrateur de workspace et que vous avez hérité des autorisations USE SCHEMA et USE CATALOG sur le schéma et le catalogue qui contiennent la table du groupe d’administrateurs du workspace, alors vous ne pouvez pas ajouter la table à un partage. Vous devez d'abord vous accorder les autorisations USE SCHEMA et USE CATALOG sur le schéma et le catalogue.

remarque

Les commentaires de table, les commentaires de colonne et les contraintes de clé primaire sont inclus dans les partages effectués avec un destinataire utilisant le partage Databricks-to-Databricks à partir du 25 juillet 2024. Si vous voulez start à partager des commentaires et des contraintes via un partage qui a été partagé avec un destinataire avant la date de publication, vous devez révoquer et réaccorder l'accès au destinataire pour Trigger le partage des commentaires et des contraintes.

Pour ajouter des tables à un partage, utilisez l'Explorateur de catalogues, le CLI Unity Catalog Databricks ou des commandes SQL dans un Notebook Databricks ou l'éditeur de query Databricks SQL.

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

  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 **Partagé par moi**, trouvez le partage auquel vous voulez ajouter une table et cliquez sur son nom. Vous pouvez ajouter des tables avec le suivi des lignes activé. Les destinataires peuvent interroger les colonnes de suivi des lignes.

  4. Cliquez sur **Gérer les assets > Modifier les assets**.

  5. Sur la page Modifier les assets , sélectionnez un schéma entier (base de données) ou des tables individuelles.

    • Pour sélectionner une table, sélectionnez d'abord le catalogue, puis le schéma qui contient la table, puis la table elle-même.

      Vous pouvez rechercher des tables par nom, nom de colonne ou commentaire à l'aide de la recherche de workspace. Consultez Rechercher des objets Workspace.

    • Pour sélectionner un schéma, sélectionnez d’abord le catalogue, puis le schéma.

      Pour plus d’informations sur le partage de schémas, consultez Ajouter des schémas à un partage.

  6. Historique : partagez l’historique de la table pour permettre aux destinataires d’effectuer des queries de time travel, de lire la table avec Spark Structured Streaming ou d’exécuter des transactions. Pour les partages Databricks-to-Databricks, le log Delta de la table est également partagé afin d’améliorer les performances. Voir Améliorer les performances de lecture des tables avec le partage de l’historique. Le partage de l’historique nécessite Databricks Runtime 12.2 LTS ou une version ultérieure.

remarque

Si vous souhaitez également que vos clients puissent query le flux de données de modification (CDF) d’une table à l’aide de la fonction table_changes(), vous devez activer le CDF sur la table avant de la partager WITH HISTORY.

  1. (Facultatif) Cliquez Bulle de dialogue et icône sur sous les colonnes **Alias** ou **Partition** pour ajouter un alias ou une partition. Les alias et les partitions ne sont pas disponibles si vous sélectionnez un schéma entier. L'historique des tables est inclus par default si vous sélectionnez un schéma entier.

  2. Cliquez sur Enregistrer .

Pour plus d'informations sur la suppression de tables d'un partage, consultez Mettre à jour les partages.

Éligibilité des jetons cloud

Databricks utilise des jetons cloud (informations d'identification cloud temporaires et limitées au chemin) pour donner aux destinataires un accès en lecture direct aux fichiers de table Delta partagés. Dans le protocole de partage Databricks-OpenSharing, on appelle également cela le mode d'accès basé sur le répertoire . Les vues, les vues matérialisées, les tables externes, les tables de streaming, les volumes, les Notebooks, les UDF Python et les modèles d'IA ne sont pas pris en charge. Les tables éligibles dépendent du protocole de partage.

Partage Databricks-to-Databricks : les jetons cloud sont utilisés lorsque toutes les conditions suivantes sont remplies :

  • La table est partagée WITH HISTORY (historique complet depuis le début).
  • La table est partagée sans filtre de partition.

Partage Databricks-à-Ouvert : Les jetons cloud (mode d'accès basé sur le répertoire) sont utilisés lorsque toutes les conditions suivantes sont remplies :

  • L'objet partagé est une table Delta gérée ou externe .
  • La table est partagée WITH HISTORY (historique complet depuis le début).
  • La table est partagée sans filtre de partition.
  • La table n'est pas une table CCv2.
  • La table n’utilise pas le stockage default.

Pour les partages Databricks-to-Databricks, les jetons cloud sont échangés directement entre les metastores Unity Catalog, sans jetons porteurs de longue durée, ce qui entraîne des performances comparables à un accès direct à la table source. Pour le partage Databricks-vers-Open, le serveur OpenSharing inclut l'emplacement de stockage cloud de la table et accessModes: ["url", "dir"] dans les réponses de liste et de métadonnées. Les destinataires ouverts peuvent appeler l'Endpoint Générer les identifiants de table temporaire pour obtenir des identifiants et lire directement depuis le stockage cloud.

important

Lorsque l'accès par jeton cloud est utilisé, les destinataires reçoivent des informations d'identification dont la portée est limitée au répertoire racine de la table Delta partagée. Cela accorde un accès en lecture à la fois aux fichiers de données et au log Delta. Le Delta log contient l'historique des commits pour chaque version de table, des informations sur le committer et les données supprimées qui n'ont pas été vacuum.

Spécifiez les partitions de table à partager

Pour partager seulement une partie d'une table lorsque vous ajoutez la table à un partage, fournissez une spécification de partition. Spécifiez les partitions lorsque vous ajoutez une table à un partage ou mettez à jour un partage, à l’aide de Catalog Explorer, de l’interface de ligne de commande Databricks Unity Catalog ou des commandes SQL dans un notebook Databricks ou l’éditeur de query Databricks SQL. Consultez Ajouter des tables à un partage et Mettre à jour les partages.

remarque

Si vous utilisez le stockage par default, vous ne pouvez pas partager de table avec le partitionnement activé. Voir Stockage default dans Databricks.

Exemple

L'exemple SQL suivant partage une partie des données de la table inventory, partitionnée par les colonnes year, month et date :

  • Données pour l'année 2021.
  • Données de décembre 2020.
  • Données pour le 25 décembre 2019.
SQL
ALTER SHARE share_name
ADD TABLE inventory
PARTITION (year = "2021"),
(year = "2020", month = "Dec"),
(year = "2019", month = "Dec", date = "2019-12-25");

Utilisez les propriétés du destinataire pour effectuer le filtrage des partitions

Vous pouvez partager une partition de table qui correspond aux propriétés du destinataire de données, également appelée partage de partition paramétré.

Les propriétés default incluent :

  • databricks.accountId: Le compte Databricks auquel un destinataire des données appartient (partage Databricks-to-Databricks uniquement).
  • databricks.metastoreId: Le metastore Unity Catalog auquel un destinataire de données appartient (partage Databricks-to-Databricks uniquement).
  • databricks.name: le nom du destinataire des données.

Vous pouvez créer n’importe quelle propriété personnalisée lorsque vous créez ou mettez à jour un destinataire.

Le filtrage par propriété de destinataire vous permet de partager les mêmes tables, en utilisant le même partage, sur plusieurs comptes, workspaces et utilisateurs Databricks tout en maintenant des limites de données entre eux.

Par exemple, si vos tables incluent une colonne d'ID de compte Databricks, vous pouvez créer un partage unique avec des partitions de table définies par l'ID de compte Databricks. Lorsque vous partagez, OpenSharing livre dynamiquement à chaque destinataire uniquement les données associées à son compte Databricks.

Diagramme de partage dynamique de partition basé sur des paramètres dans OpenSharing

Sans la capacité de partitionner dynamiquement par propriété, vous devriez créer un partage séparé pour chaque destinataire.

Pour spécifier une partition qui filtre par les propriétés du destinataire lorsque vous créez ou mettez à jour un partage, vous pouvez utiliser l'Explorateur de catalogues ou la fonction SQL CURRENT_RECIPIENT dans un Notebook Databricks ou l'éditeur de query Databricks SQL :

remarque

Les propriétés du destinataire sont disponibles dans Databricks Runtime 12.2 ou version ultérieure.

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

  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 Partagé par moi , recherchez le partage que vous souhaitez actualiser et cliquez sur son nom.

  4. Cliquez sur Gérer les assets > Ajouter des assets de données .

  5. Sur la page Ajouter des tables , sélectionnez le catalogue et la base de données qui contiennent la table, puis sélectionnez la table.

    Si vous n'êtes pas sûr du catalogue et de la base de données qui contiennent la table, vous pouvez la rechercher par nom, nom de colonne ou commentaire à l'aide de la recherche du workspace. Consultez Rechercher des objets Workspace.

  6. (Facultatif) Cliquez sur Bulle de dialogue et icône sous la colonne Partition pour ajouter une partition.

    Dans la boîte de dialogue Ajouter une partition à la table , ajoutez la spécification de partition basée sur les propriétés en utilisant la syntaxe suivante :

    (<column-name> = CURRENT_RECIPIENT().<property-key>)

    Par exemple,

    (country = CURRENT_RECIPIENT().country)
  7. Cliquez sur Enregistrer .

Ajouter des tables avec des vecteurs de suppression ou un mappage de colonnes à un partage

info

Aperçu

Cette fonctionnalité est en aperçu public.

Les vecteurs de suppression sont une fonctionnalité d'optimisation du stockage que vous pouvez activer sur les tables Delta. 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.

Pour partager une table avec des vecteurs de suppression ou un mappage de colonnes, vous devez le partager avec l'historique. Voir Ajouter des tables à un partage.

Lorsque vous partagez une table avec des vecteurs de suppression ou un mappage de colonnes, les destinataires peuvent interroger la table à l’aide d’un SQL Warehouse, d’un compute exécutant Databricks Runtime 14.1 ou version ultérieure, ou d’un compute exécutant l’open source delta-sharing-spark 3.1 ou version ultérieure. Voir Lire les tables avec les vecteurs de suppression ou le mappage de colonnes activés et Lire les tables avec les vecteurs de suppression ou le mappage de colonnes activés.

Ajouter des schémas à un partage

Vérifiez que vous remplissez les exigences avant d'ajouter des schémas à un partage.

L'ajout d'un schéma entier à un partage permet à vos destinataires d'accéder à tous les assets de données du schéma au moment où vous créez le partage, ainsi qu'à tous les assets qui sont ajoutés au schéma au fil du temps. Cela inclut toutes les tables, vues et volumes du schéma. Les tables partagées de cette manière incluent toujours l’historique complet.

Partager des schémas avec un destinataire

Pour ajouter un schéma à un partage, suivez les instructions de Ajouter des tables à un partage, en prêtant attention au contenu qui spécifie comment ajouter un schéma.

L'ajout, la mise à jour ou la suppression d'un schéma à l'aide de SQL nécessite un SQL warehouse ou un compute exécutant Databricks Runtime 13.3 LTS ou version ultérieure. Faire de même avec Catalog Explorer n'a aucune exigence de compute.

Limitations

  • Vous pouvez partager des schémas même s'ils incluent des assets de données non pris en charge. Ces assets sont filtrés et non partagés avec les destinataires. Les assets de données non pris en charge incluent les éléments suivants :

    • Tables qui utilisent le clustering liquide avec filtrage de partition
    • Tables R2 avec point de contrôle V2
    • Tables avec interclassements activés
    • Tables avec filtres de lignes ou masques de colonnes
    • SHALLOW CLONE Tables
    • Contraintes de clé étrangère dans les tables partagées
  • Les alias de table, les partitions et les alias de volume ne sont pas disponibles si vous partagez un schéma entier. Si vous avez créé des alias ou des partitions pour des assets dans le schéma, ceux-ci sont supprimés lorsque vous ajoutez l'intégralité du schéma au partage.

  • Si vous souhaitez spécifier des options avancées pour une table ou un volume dans le schéma, vous devez partager la table ou le volume à l'aide de SQL et donner à la table ou au volume un alias avec un nom de schéma différent.

  • L'aliassage au niveau du schéma n'est pas pris en charge. Les schémas portant le même nom provenant de différents catalogues ne peuvent pas être ajoutés au même partage. Au lieu de cela, partagez des tables individuelles avec des noms de schéma aliasés.

Ajouter des tables et des schémas sécurisés par des politiques ABAC à un partage

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.

Vous pouvez partager une table ou un schéma sécurisé par des politiques ABAC comme des tables standard. Pour savoir comment appliquer des politiques ABAC à vos assets de données, consultez Créer et gérer des politiques de filtre de ligne et de masque de colonne.

Cependant, vous devez être un utilisateur privilégié . Un utilisateur privilégié est le propriétaire du partage et un utilisateur qui est exclu des politiques ABAC appliquées à l'asset de données. La politique ne régit pas l'accès du destinataire. Les destinataires ont un accès complet à l'asset partagé. Les limites ABAC s'appliquent.

Ajouter des tables de streaming à un partage

Les tables de streaming sont des tables Delta régulières qui offrent un support supplémentaire pour le traitement des données en streaming ou incrémentiel. Les tables de streaming sont conçues pour les sources de données en ajout uniquement et traitent les entrées une seule fois. Voir Utiliser les tables de streaming autonomes.

Vérifiez que vous remplissez les conditions requises avant d'ajouter des tables de streaming à un partage.

Exigences supplémentaires

  • Si votre Workspace dispose de liaisons Workspace-catalogue activées, vérifiez que le Workspace dispose d'un accès en lecture et en écriture au catalogue dans lequel se trouve la table de streaming. Pour plus d'informations, consultez Liaison entre le Workspace et le catalogue.
  • Les tables de streaming partageables doivent être définies sur des tables Delta ou d'autres tables de streaming ou vues partageables.
  • Vous devez utiliser un SQL Warehouse ou un compute sur Databricks Runtime 13.3 LTS ou version(s) ultérieure(s) lorsque vous ajoutez une table de streaming à un partage.

Limitations

  • La table de streaming ne peut pas avoir de filtres de lignes et de masques de colonnes.

    • La table de base de la table de streaming peut avoir des filtres de ligne et des masques de colonne.
  • La table de streaming ne peut pas avoir de filtres de partition. Au lieu de cela, créez une vue sur la table de streaming.

  • Les destinataires du partage Databricks-vers-Open peuvent uniquement lire l'instantané actuel de la table de streaming. Time travel, l'historique des query, les lectures en streaming et CDF ne sont pas pris en charge pour les destinataires ouverts. Si vos destinataires ont besoin de CDF, partagez une table Delta standard avec CDF activé.

  • Si le destinataire n'a pas d'accès direct aux données sous-jacentes, les clauses LIMIT et le predicate pushdown ne sont pas pris en charge. Le système matérialise entièrement tous les résultats de query avant de les renvoyer au destinataire, indépendamment des filtres de query. Voir Les destinataires ont-ils un accès direct aux données sous-jacentes dans les vues partagées, les vues matérialisées et les tables de streaming ?.

  • Les limitations générales des tables de streaming s’appliquent également. Consultez les limites des tables de streaming.

Partager des tables de streaming avec un destinataire

Pour ajouter des tables de streaming à un partage :

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

  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. Sous l'onglet **Partagé par moi**, trouvez le partage auquel vous souhaitez ajouter une table de streaming et cliquez sur son nom.

  4. Cliquez sur **Gérer les assets > Modifier les assets**.

  5. Sur la page Modifier les assets , recherchez ou parcourez la table de streaming que vous souhaitez partager, puis sélectionnez-la.

  6. (Facultatif) Dans la colonne Alias , cliquez sur Bulle de dialogue et icône pour spécifier un alias, ou un autre nom de table de streaming, afin de rendre le nom de la table de streaming plus lisible. L'alias est le nom que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel de la table de streaming si un alias est spécifié.

  7. Cliquez sur Enregistrer .

Pour des informations sur la suppression de tables de streaming d'un partage, consultez Mettre à jour les partages.

Ajouter des tables Iceberg gérées à un partage

info

Aperçu

Cette fonctionnalité est en aperçu public.

Apache Iceberg est un format de table open source pour les charges de travail analytiques. Dans Databricks, vous pouvez créer des tables Iceberg dans Unity Catalog, appelées tables Iceberg gérées.

Vérifiez que vous remplissez les conditions requises avant d'ajouter des tables Iceberg gérées à un partage. Des limitations s'appliquent aux tables Iceberg et aux tables Iceberg gérées. Consultez les Limitations.

remarque

Databricks ne prend pas en charge le partage de tables Iceberg gérées avec des clients Iceberg externes.

Pour ajouter des tables Iceberg gérées à un partage :

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

  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 la tab Partagé par moi, trouvez le partage auquel vous souhaitez ajouter une table Iceberg gérée et cliquez sur son nom.

  4. Cliquez sur **Gérer les assets** > **Modifier les assets**.

  5. Sur la page Modifier les assets , recherchez ou parcourez la table Iceberg gérée que vous souhaitez partager et sélectionnez-la.

  6. (Facultatif) Dans la colonne **Alias**, cliquez sur Bulle de dialogue et icône pour spécifier un alias, ou un autre nom de table Iceberg géré, afin de rendre le nom plus lisible. L'alias est le nom que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom de table Iceberg gérée réelle si un alias est spécifié.

  7. Cliquez sur Enregistrer .

Ajouter des schémas ou des tables étrangers à un partage

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.

Lakehouse Federation vous permet d'utiliser Databricks pour exécuter des requêtes sur des sources de données externes. Vous pouvez créer des schémas et des tables externes, qui contiennent des données et des métadonnées gérées par des systèmes externes, Unity Catalog ajoutant la gouvernance des données pour query ces tables. Pour en savoir plus sur la connexion aux sources externes, consultez Se connecter aux bases de données et catalogues externes.

OpenSharing vous permet de partager en toute sécurité des données externes depuis leur emplacement d'origine, sans copier les données dans Databricks, sans configurations réseau complexes ni transferts d'informations d'identification.

Vérifiez que vous remplissez les exigences avant d'ajouter des schémas ou des tables étrangers à un partage.

Exigences supplémentaires

  • Vous devez activer la **Lakehouse Federation Sharing** dans vos aperçus au niveau du compte. Voir Gérer les aperçus Databricks.

  • Vous devez activer le **compute Serverless pour les workflows, les Notebooks et les LakeFlow Pipelines** dans le compte où le partage de schémas externes ou de tables externes est configuré. Voir Se connecter au compute Serverless.

  • Lors du partage de schémas et de tables externes, les données sont interrogées et temporairement matérialisées côté fournisseur. Par défaut, les données matérialisées sont stockées dans un schéma masqué à l'aide du stockage default de Databricks. Veuillez vérifier que vous remplissez les conditions requises et que vous respectez les limitations pour le stockage default.

    Pour plus de détails sur la disponibilité régionale du stockage par default, consultez disponibilité Serverless.

    Pour refuser l'utilisation du stockage par default de Databricks et utiliser votre propre stockage pour la matérialisation temporaire, ouvrez un dossier de support.

important

Les tables étrangères trop volumineuses pour être matérialisées ne peuvent pas être partagées. Si la matérialisation dépasse les limites, la query échoue.

  • Si vous choisissez d'utiliser le stockage default, vous devez activer la préversion **OpenSharing for Default Storage – Expanded Access** au niveau du compte. Voir Gérer les aperçus Databricks.

Limitations

  • Les tables étrangères partagées ne prennent pas en charge les clauses LIMIT ou le pushdown de prédicat. Le système matérialise entièrement tous les résultats de query avant de les renvoyer au destinataire, quels que soient les filtres de query.

Modèles d'utilisation recommandés

Les résultats de query sont générés à la demande pour chaque query, de sorte que le partage de tables et de schémas externes pourrait ne pas être aussi rentable que le partage de tables ou de vues matérialisées. Databricks recommande ce qui suit pour améliorer les performances :

  • Gardez la taille des résultats de query typiques inférieure à 10 Go.
  • Utilisez des requêtes exploratoires ad hoc au lieu de vidages de données fréquents.
  • Lorsque vous utilisez le partage de jetons cloud, envisagez de partager des vues matérialisées créées à partir de tables externes pour l'efficacité des coûts et de meilleures performances.

Partager le schéma ou la table externe avec un destinataire

Pour ajouter des schémas ou des tables externes à un partage, utilisez Catalog Explorer, l'interface de ligne de commande (CLI) Databricks Unity Catalog, ou des commandes SQL dans un Notebook Databricks ou l'éditeur de requêtes Databricks SQL.

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

  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 le Shared by me tab, recherchez le partage auquel vous souhaitez ajouter une table externe ou un schéma et cliquez sur son nom.

  4. Cliquez sur **Gérer les assets > Modifier les assets**.

  5. Sur la page Modifier les assets , recherchez ou parcourez la table ou le schéma étranger que vous souhaitez partager, puis sélectionnez-le.

  6. (Facultatif) Dans la colonne Alias , cliquez sur Bulle de dialogue et icône pour spécifier un alias, un schéma externe alternatif ou un nom de table, afin de rendre le schéma externe ou le nom de table plus lisible. L'alias est le nom que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel du schéma étranger ou de la table si un alias est spécifié.

  7. Cliquez sur Enregistrer .

Ajouter des tables Iceberg externes à un partage

info

Aperçu

Cette fonctionnalité est en aperçu public.

Les tables Iceberg étrangères sont des tables fédérées à partir de catalogues Iceberg étrangers à l'aide de Lakehouse Federation. Pour en savoir plus sur les tables Apache Iceberg dans Databricks, consultez Qu'est-ce qu'Apache Iceberg dans Databricks ?.

Avant de commencer, vérifiez que vous remplissez les exigences générales et créez un partage. Vous pouvez également partager des tables Iceberg externes à des destinataires à l'aide de clients Iceberg externes. Pour plus d'informations, consultez Activer le partage vers des clients Iceberg externes.

remarque

Pour vérifier que les destinataires reçoivent les données les plus récentes, refresh périodiquement vos tables Iceberg étrangères. Toute SELECT query ou REFRESH TABLE commande refresh les métadonnées de la table.

Databricks recommande de configurer un Job planifié afin que la table Iceberg externe sur Databricks reste synchronisée avec la source Iceberg distante. Pour plus d'information sur la planification des actualisations, consultez Planifier une query.

Exigences supplémentaires

Limitations

  • Les partitions ne sont pas prises en charge.
  • Lorsque vous partagez avec des destinataires ouverts n’utilisant pas de client Iceberg, les clauses LIMIT et le pushdown de prédicat ne sont pas pris en charge. Le système matérialise entièrement tous les résultats de query avant de les renvoyer au destinataire, quels que soient les filtres de query.

Ajouter une table Iceberg externe à un partage

Les tables Iceberg étrangères sont automatiquement partagées avec l'historique complet.

Pour ajouter une table Iceberg étrangère à un partage :

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

  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. Sous l'onglet **Partagé par moi**, trouvez le partage auquel vous souhaitez ajouter une table Iceberg externe et cliquez sur son nom.

  4. Cliquez sur **Gérer les assets** > **Modifier les assets**.

  5. Sur la page Modifier les assets , recherchez ou parcourez la table Iceberg étrangère que vous souhaitez partager et sélectionnez-la.

  6. (Facultatif) Dans la colonne Alias , cliquez sur Bulle de dialogue et icône pour spécifier un alias. L'alias est le nom que le destinataire voit et doit utiliser dans les requêtes.

  7. Cliquez sur Enregistrer .

Ajouter des vues à un partage

Les vues sont des objets en lecture seule créés à partir d'une ou plusieurs tables ou d'autres vues. Une vue peut être créée à partir de tables et d'autres vues qui sont contenues dans plusieurs schémas et catalogues au sein d'un métastore Unity Catalog. Consultez Créer et gérer des vues.

Lorsque vous partagez des vues, les données sont query et temporairement matérialisées. Les données matérialisées sont stockées dans l'emplacement de stockage du schéma ou du catalogue parent de la vue, ou dans l'emplacement racine du métastore.

Vérifiez que vous remplissez les conditions requises avant d'ajouter des vues à un partage.

Exigences supplémentaires

  • Les vues partageables doivent être définies sur des tables Delta, d’autres vues partageables, ou des vues matérialisées et des tables de streaming locales. Les vues partageables ne peuvent pas être définies sur des tables externes.

  • Vous devez utiliser un SQL Warehouse ou un compute sur Databricks Runtime 13.3 LTS ou supérieur lorsque vous ajoutez une vue à un partage.

  • Si votre Workspace a des liaisons Workspace-catalogue activées, vérifiez que le Workspace dispose d'un accès en lecture et en écriture au catalogue. Pour plus d'informations, consultez Liaison entre le Workspace et le catalogue.

  • Lors du partage des vues, les données peuvent être interrogées et matérialisées temporairement du côté du fournisseur, en fonction du type de compute du destinataire et de la relation de compte. Les données matérialisées sont stockées dans l'emplacement de stockage du schéma ou du catalogue parent de la vue, ou dans l'emplacement racine du métastore. Pour plus de détails sur le moment où la matérialisation a lieu et qui la paie, consultez Les destinataires ont-ils un accès direct aux données sous-jacentes dans les vues partagées, les vues matérialisées et les tables de streaming ? et Comment puis-je engager et vérifier les coûts OpenSharing ?.

  • Si l'emplacement de stockage possède des configurations réseau personnalisées, telles qu'un pare-feu ou un Link privé, vous devez vérifier que vos destinataires sont autorisés à se connecter à l'emplacement de stockage. Pour des instructions sur la configuration des règles de pare-feu pour le compute Serverless, consultez Configuration du pare-feu pour le compute Serverless.

  • Alternativement, utilisez Partagez des données derrière un pare-feu avec SecureConnect pour gérer l'accès sans liste d'autorisation par destinataire.

Limitations

Partager des vues avec un destinataire

Cette section décrit comment ajouter des vues à un partage à l'aide de l'Explorateur de catalogues, de la CLI Databricks ou des commandes SQL dans un Notebook Databricks ou l'éditeur de query Databricks SQL. Si vous préférez utiliser l'API REST de Unity Catalog, consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l'API REST.

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

  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. Sous l'onglet Shared by me tab, recherchez le partage auquel vous souhaitez ajouter une vue et cliquez sur son nom.

  4. Cliquez sur Gérer les assets > Ajouter des assets de données .

  5. Sur la page Ajouter des tables , recherchez ou parcourez la vue que vous souhaitez partager et sélectionnez-la.

  6. (Facultatif) Cliquez sur Bulle de dialogue et icône sous la colonne Alias pour spécifier un autre nom de vue, ou Alias , afin de rendre le nom de la vue plus lisible. L'alias est le nom que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom de vue réel si un alias est spécifié.

  7. Cliquez sur Enregistrer .

Pour des informations sur la suppression de vues d'un partage, consultez Mettre à jour les partages.

Ajouter des vues dynamiques à un partage pour filtrer les lignes et les colonnes

Vous pouvez utiliser des vues dynamiques pour configurer un contrôle d’accès précis aux données de la table, notamment :

  • Sécurité au niveau des colonnes ou des lignes.
  • masquage de données.

Lorsque vous créez une vue dynamique qui utilise la fonction CURRENT_RECIPIENT(), vous pouvez limiter l'accès du destinataire en fonction des propriétés que vous spécifiez dans la définition du destinataire.

Cette section fournit des exemples de restriction de l'accès des destinataires aux données de tableau au niveau de la ligne et de la colonne à l'aide d'une vue dynamique.

Exigences

  • Vérifiez que vous remplissez les conditions requises pour ajouter une vue à un partage.
  • Version de Databricks Runtime : la fonction CURRENT_RECIPIENT est prise en charge dans Databricks Runtime 14.2 et versions ultérieures.

Limitations

  • Toutes les limitations relatives au partage de vues s'appliquent.
  • Lorsqu'un fournisseur partage une vue qui utilise la fonction CURRENT_RECIPIENT, le fournisseur ne peut pas query la vue directement en raison du contexte de partage. Pour tester une telle vue dynamique, le fournisseur doit se partager la vue et query la vue en tant que destinataire.
  • Les fournisseurs ne peuvent pas créer une vue qui fait référence à une vue dynamique.

Définir une propriété de destinataire

Dans ces exemples, la table à partager a une colonne nommée country, et seuls les destinataires avec une propriété country correspondante peuvent afficher certaines lignes ou colonnes.

Vous pouvez définir les propriétés du destinataire à l'aide de Catalog Explorer ou de commandes SQL dans un Notebook Databricks ou l'éditeur de query SQL.

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

  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. Sous l'onglet **Destinataires**, recherchez le destinataire auquel vous souhaitez ajouter les propriétés et cliquez sur son nom.

  4. En bas à droite de la page, sous Propriétés du destinataire , cliquez sur l'icône Icône de crayon. en forme de crayon à côté de databricks.metastoreID pour un destinataire Databricks ou à côté de databricks.name pour un destinataire ouvert.

  5. Dans la boîte de dialogue Modifier les propriétés du destinataire , saisissez le nom de la colonne comme clé (dans ce cas country) et la valeur par laquelle vous souhaitez filtrer comme valeur (par exemple, CA).

  6. Cliquez sur Enregistrer .

Créez une vue dynamique avec une autorisation au niveau des lignes pour les destinataires

Dans cet exemple, seuls les destinataires disposant d'une propriété country correspondante peuvent afficher certaines lignes.

SQL
CREATE VIEW my_catalog.default.view1 AS
SELECT * FROM my_catalog.default.my_table
WHERE country = CURRENT_RECIPIENT('country');

Une autre option est que le fournisseur de données tienne à jour une table de mappage distincte qui mappe les champs de la table de faits aux propriétés du destinataire. Ceci permet de découpler les propriétés du destinataire et les champs de la table de faits pour une plus grande flexibilité.

Créer une vue dynamique avec autorisation au niveau des colonnes pour les destinataires

Dans cet exemple, seuls les destinataires qui correspondent à la propriété country peuvent consulter certaines colonnes. D'autres voient les données renvoyées sous la forme de REDACTED:

SQL
CREATE VIEW my_catalog.default.view2 AS
SELECT
CASE
WHEN CURRENT_RECIPIENT('country') = 'US' THEN pii
ELSE 'REDACTED'
END AS pii
FROM my_catalog.default.my_table;

Partager la vue dynamique avec un destinataire

Pour partager la vue dynamique avec un destinataire, utilisez les mêmes commandes SQL ou la même procédure d'interface utilisateur que pour une vue standard. Voir Ajouter des vues à un partage.

Ajouter des vues matérialisées à un partage

À l’instar des vues, les vues matérialisées sont les résultats d’une query, et vous pouvez y accéder comme vous le feriez pour une table. Contrairement aux vues classiques, les résultats d’une vue matérialisée reflètent l’état des données lors de la dernière actualisation de la vue matérialisée. Pour plus de détails sur les vues matérialisées, consultez Utiliser des vues matérialisées autonomes.

Vérifiez que vous respectez les exigences avant d’ajouter des vues matérialisées à un partage.

Exigences supplémentaires

  • Si votre workspace a des liaisons workspace-catalogue activées, vérifiez que le workspace a un accès en lecture et écriture au catalogue contenant la vue matérialisée. Pour plus d'informations, consultez Liaison entre le Workspace et le catalogue.
  • Les vues matérialisées partageables doivent être définies sur des tables Delta ou d'autres tables de streaming, vues ou vues matérialisées partageables.
  • Vous devez utiliser un SQL Warehouse ou un compute sur Databricks Runtime 13.3 LTS ou ultérieur lorsque vous ajoutez une vue matérialisée à un partage.

Limitations

  • La vue matérialisée ne peut pas avoir de filtres de ligne, mais la table de base de la vue matérialisée peut avoir des filtres de ligne et des masques de colonne.
  • La vue matérialisée ne peut pas avoir de filtres de partition. Créez plutôt une vue au-dessus de la vue matérialisée.
  • Les destinataires du partage Databricks-to-Open ne peuvent lire que l'instantané actuel de la vue matérialisée. Les lectures en streaming ne sont pas prises en charge pour les destinataires ouverts.
  • Si le destinataire n'a pas d'accès direct aux données sous-jacentes, les clauses LIMIT et le predicate pushdown ne sont pas pris en charge. Le système matérialise entièrement tous les résultats de query avant de les renvoyer au destinataire, indépendamment des filtres de query. Voir Les destinataires ont-ils un accès direct aux données sous-jacentes dans les vues partagées, les vues matérialisées et les tables de streaming ?.
  • Les limitations générales pour les vues matérialisées s'appliquent également. Voir les limites des vues matérialisées.

Partager les vues matérialisées avec un destinataire

Cette section décrit comment ajouter des vues matérialisées à un partage via Catalog Explorer, Databricks CLI ou des commandes SQL dans un Notebook Databricks ou l'éditeur de query Databricks SQL. Si vous préférez utiliser l'API REST, consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l'API REST.

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

  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 la **tab** **Partagé par moi**, trouvez le partage auquel vous souhaitez ajouter une vue matérialisée et cliquez sur son nom.

  4. Cliquez sur **Gérer les assets > Modifier les assets**.

  5. Sur la page Modifier les assets , recherchez ou parcourez la vue matérialisée que vous souhaitez partager et sélectionnez-la.

  6. (Facultatif) Dans la colonne Alias , cliquez sur Bulle de dialogue et icône pour spécifier un alias, ou un autre nom de vue matérialisée, afin de rendre le nom de la vue matérialisée plus lisible. L'alias est le nom que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel de la vue matérialisée si un alias est spécifié.

  7. Cliquez sur Enregistrer .

Pour plus d'informations sur la suppression de vues matérialisées d'un partage, consultez Mettre à jour les partages.

Ajouter des volumes à un partage

Les volumes sont des objets Unity Catalog qui représentent un volume logique de stockage dans un emplacement de stockage d'objets cloud. Elles sont principalement destinées à assurer la gouvernance des assets de données non tabulaires. Consultez Que sont les volumes Unity Catalog ?.

Vérifiez que vous remplissez les exigences avant d'ajouter des volumes à un partage.

Exigences supplémentaires

  • Le partage de volumes est pris en charge uniquement dans le partage Databricks-to-Databricks.
  • Vous devez utiliser un SQL Warehouse en version 2023.50 ou supérieure ou une ressource de calcul sur Databricks Runtime 14.1 ou version supérieure lorsque vous ajoutez un volume à un partage.
  • Si le stockage de volume côté fournisseur dispose de configurations réseau personnalisées (telles qu'un pare-feu ou un private Link), le fournisseur doit vérifier que les adresses du plan de données du destinataire sont correctement autorisées pour pouvoir se connecter à l'emplacement de stockage du volume. Catalog Explorer pourrait ne pas afficher correctement les volumes du côté du destinataire.
remarque

Les commentaires de volume sont inclus dans les partages qui sont partagés avec un destinataire via le partage Databricks-to-Databricks à partir du 25 juillet 2024. Si vous souhaitez start à partager des commentaires via un partage qui a été partagé avec un destinataire avant la date de publication, vous devez révoquer et ré-accorder l'accès au destinataire pour Trigger le partage de commentaires.

Partager des volumes avec un destinataire

Cette section décrit comment ajouter des volumes à un partage à l'aide de l'Explorateur de catalogues, de la CLI Databricks ou des commandes SQL dans un Notebook Databricks ou un éditeur de query SQL. Si vous préférez utiliser l'API REST Unity Catalog, consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l'API REST.

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

  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 Partagé par moi , trouvez le partage auquel vous souhaitez ajouter un volume et cliquez sur son nom.

  4. Cliquez sur **Gérer les assets > Modifier les assets**.

  5. Sur la page Modifier les assets , recherchez le volume que vous souhaitez partager ou naviguez jusqu'à celui-ci, puis sélectionnez-le.

    Vous pouvez également sélectionner l'intégralité du schéma qui contient le volume. Consultez Ajouter des schémas à un partage.

  6. (Facultatif) Cliquez Bulle de dialogue et icône sur sous la colonne **Alias** pour spécifier un autre nom de volume, ou **Alias**, afin de rendre le nom de volume plus lisible.

    Les alias ne sont pas disponibles si vous sélectionnez un schéma entier.

    L'alias est le nom que le destinataire voit et doit utiliser dans les query. Si un alias est spécifié, les destinataires ne peuvent pas utiliser le nom de volume réel.

  7. Cliquez sur Enregistrer .

Pour en savoir plus sur la suppression de volumes d'un partage, consultez Mettre à jour les partages.

Ajouter des UDF Python à un partage

Les fonctions définies par l'utilisateur (UDF) vous permettent de réutiliser et de partager du code qui étend les fonctionnalités intégrées sur Databricks. Pour savoir comment créer des UDF Python, voir fonctions scalaires définies par l'utilisateur (UDF) Python.

Vérifiez que vous remplissez les conditions requises avant d'ajouter des UDF Python à un partage.

Limitations supplémentaires

  • Vous ne pouvez pas partager les UDF Python avec un destinataire ouvert.

Partagez les UDF Python avec un destinataire

Cette section décrit comment ajouter des fonctions UDF Python à un partage à l’aide de Catalog Explorer, de l’interface CLI Databricks ou de commandes SQL dans un Notebook Databricks ou un éditeur de query SQL. Si vous préférez utiliser l'API REST Unity Catalog, consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l'API REST.

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

  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 Partagé par moi , trouvez l'élément partagé auquel vous souhaitez ajouter une UDF Python et cliquez sur son nom.

  4. Cliquez sur **Gérer les assets > Modifier les assets**.

  5. Sur la page Modifier les assets , recherchez ou parcourez l'UDF Python que vous souhaitez partager et sélectionnez-la.

    Vous pouvez également sélectionner l'intégralité du schéma qui contient la UDF Python. Consultez Ajouter des schémas à un partage.

  6. (Facultatif) Cliquez sur Bulle de dialogue et icône sous la colonne Alias pour spécifier un autre nom d’UDF Python, ou Alias , afin de rendre le nom d’UDF Python plus lisible.

    Les alias ne sont pas disponibles si vous sélectionnez un schéma entier.

    L'alias est le nom que le destinataire voit et doit utiliser dans les query. Si un alias est spécifié, les destinataires ne peuvent pas utiliser le nom réel de l'UDF Python.

  7. Cliquez sur Enregistrer .

Ajouter FeatureSpecs à un partage

Un FeatureSpec est un ensemble de fonctionnalités et de fonctions défini par l'utilisateur. Les destinataires peuvent créer un Endpoint de Feature Serving à partir de l'FeatureSpec partagé. Pour savoir comment créer FeatureSpecs, consultez Créer un FeatureSpec.

Vérifiez que vous remplissez les exigences avant d'ajouter FeatureSpecs à un partage.

Exigences supplémentaires

  • Toutes les dépendances doivent être ajoutées au partage. Lorsque vous utilisez l'interface utilisateur pour ajouter un FeatureSpec à un partage, toutes les dépendances devraient être automatiquement ajoutées au partage.
  • Si une dépendance est ajoutée au modèle, elle doit également être ajoutée au partage.

Limitations supplémentaires

  • Si cet asset est une dépendance d'un autre modèle, vous ne pouvez pas spécifier d'alias.
  • Vous ne pouvez pas partager FeatureSpecs avec un destinataire ouvert.

Partager FeatureSpecs avec un destinataire

Cette section explique comment ajouter FeatureSpecs à un partage à l'aide de l'Explorateur de catalogues, de la CLI Databricks, ou des commandes SQL dans un Notebook Databricks ou un éditeur de query SQL. Si vous préférez utiliser l'API REST Unity Catalog, consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l'API REST.

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

  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 **Partagé par moi**, trouvez le partage auquel vous souhaitez ajouter un FeatureSpec et cliquez sur son nom.

  4. Cliquez sur **Gérer les assets > Modifier les assets**.

  5. Sur la page **Modifier les assets**, recherchez FeatureSpec ou parcourez le que vous souhaitez partager et sélectionnez-le.

    Vous pouvez également sélectionner le schéma entier qui contient le FeatureSpec. Voir Ajouter des schémas à un partage.

  6. (Facultatif) Cliquez sur Bulle de dialogue et icône sous la colonne Alias pour spécifier un autre nom FeatureSpec, ou un alias , afin de rendre le nom FeatureSpec plus lisible.

    Les alias ne sont pas disponibles si vous sélectionnez un schéma entier.

    L'alias est le nom que le destinataire voit et doit utiliser dans les query. Si un alias est spécifié, les destinataires ne peuvent pas utiliser le véritable nom FeatureSpec.

  7. S'il existe des dépendances, la boîte de dialogue Ajouter toutes les dépendances vous indique qu'elles sont toutes ajoutées automatiquement. Cliquez sur Ajouter toutes les dépendances .

  8. Cliquez sur Enregistrer .

Ajouter des modèles à un partage

Vérifiez que vous remplissez les exigences avant d'ajouter des modèles à un partage.

remarque

Les commentaires de modèle et les commentaires de version de modèle sont inclus dans les partages effectués à l'aide du partage Databricks-to-Databricks.

Exigences supplémentaires

  • Le partage de modèles n'est pris en charge que dans le partage Databricks-to-Databricks.
  • Vous devez utiliser un SQL Warehouse sur la version 2023.50 ou une version ultérieure, ou une ressource compute sur Databricks Runtime 14.0 ou une version ultérieure lorsque vous ajoutez un modèle à un partage.

Partager des modèles avec un destinataire

Cette section décrit comment ajouter des modèles à un partage à l'aide de Catalog Explorer, de la CLI Databricks ou de commandes SQL dans un Notebook Databricks ou un éditeur de query SQL. Si vous préférez utiliser l'API REST Unity Catalog, consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l'API REST.

Pour ajouter des modèles à un partage :

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

  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 by me tab, recherchez le partage auquel vous souhaitez ajouter un modèle et cliquez sur son nom.

  4. Cliquez sur **Gérer les assets > Modifier les assets**.

  5. Sur la page **Modifier les assets**, recherchez ou parcourez le modèle que vous souhaitez partager et sélectionnez-le.

    Alternativement, vous pouvez sélectionner l'intégralité du schéma qui contient le modèle. Consultez Ajouter des schémas à un partage.

  6. (Facultatif) Cliquez Bulle de dialogue et icône sur sous la colonne **Alias** pour spécifier un autre nom de modèle, ou **Alias**, afin de rendre le nom du modèle plus lisible.

    Les alias ne sont pas disponibles si vous sélectionnez un schéma entier.

    L'alias est le nom que le destinataire voit et doit utiliser dans les query. Les destinataires ne peuvent pas utiliser le nom réel du modèle si un alias est spécifié.

  7. Cliquez sur Enregistrer .

Pour des informations sur la suppression de modèles d'un partage, voir Mettre à jour les partages.

Ajouter des fichiers Notebook à un partage

Vérifiez que vous remplissez les exigences avant d’ajouter des fichiers Notebook à un partage.

Utilisez Catalog Explorer pour ajouter un fichier Notebook à un partage.

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

  2. Cliquez sur le bouton **OpenSharing >**.

  3. Dans l’onglet Partagés par moi , recherchez le partage auquel vous souhaitez ajouter un Notebook et cliquez sur son nom.

  4. Cliquez sur Gérer les assets et sélectionnez Ajouter un fichier Notebook .

  5. Sur la page Ajouter un fichier Notebook , cliquez sur l’icône de fichier pour parcourir le notebook que vous souhaitez partager.

    • Cliquez sur le fichier que vous souhaitez partager, puis cliquez sur Sélectionner .
    • (Facultatif) spécifiez un alias convivial pour le fichier dans le champ **Partager en tant que**. C'est l'identifiant que les destinataires voient.
    • Sous Emplacement de stockage , saisissez l'emplacement externe dans le stockage cloud où vous souhaitez stocker le notebook. Vous pouvez spécifier un sous-chemin sous l'emplacement externe défini. Si vous ne spécifiez pas d'emplacement externe, le notebook est stocké dans l'emplacement de stockage au niveau du métastore (ou « racine du métastore »). Si aucun emplacement racine n'est défini pour le métastore, vous devez saisir un emplacement externe ici. Consultez Ajouter un stockage géré à un métastore existant.
  6. Cliquez sur Enregistrer .

Le fichier Notebook partagé apparaît maintenant dans la liste des **fichiers Notebook** sous l'onglet **tab**.

Supprimer les fichiers notebook des partages

Pour supprimer un fichier Notebook d'un partage :

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

  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 **Partagé par moi**, recherchez le partage qui inclut le Notebook, puis cliquez sur le nom du partage.

  4. Dans l'onglet **tab**, recherchez le fichier notebook que vous souhaitez supprimer du partage.

  5. Cliquez sur le menu kebab Icône du menu kebab. à droite de la ligne, puis sélectionnez Supprimer le fichier Notebook .

  6. Dans la boîte de dialogue de confirmation, cliquez sur Supprimer .

Mettre à jour les fichiers Notebook dans les partages

Pour mettre à jour un notebook que vous avez déjà partagé, vous devez le rajouter en lui donnant un nouvel alias dans le champ Partager en tant que . Databricks vous recommande d'utiliser un nom qui indique le statut révisé du notebook, tel que <old-name>-update-1. Vous devrez peut-être notifier le destinataire du changement. Le destinataire doit sélectionner et cloner le nouveau Notebook pour profiter de votre mise à jour.

Activez le partage avec les clients Iceberg externes.

Vous pouvez partager des tables Delta, des tables Iceberg externes, des vues, des vues matérialisées et des tables de streaming avec des clients Iceberg externes qui utilisent l'API REST Catalog Apache Iceberg.

Avant de partager, vérifiez que vous remplissez les exigences d'OpenSharing nécessaires pour ajouter votre asset de données à un partage.

remarque

Cette fonctionnalité est différente du partage des tables Iceberg gérées.

Limitations supplémentaires

  • Les tables avec des vecteurs de suppression activés ne sont pas prises en charge.
  • Les tables Iceberg gérées ne sont pas prises en charge.
  • Les assets utilisant le stockage default ne peuvent pas être partagés avec des clients Iceberg externes. Voir Stockage default dans Databricks.

Partager avec les clients Iceberg externes

Pour partager des assets de données avec des clients Iceberg externes :

  1. Si vous partagez une table Delta, configurez chaque table Delta avec IcebergCompatV3 pour l’exposer comme une table compatible Iceberg. Cela permet la génération asynchrone de métadonnées Iceberg parallèlement aux Opérations Delta standard. Vérifiez que vous remplissez les conditions requises pour le partage de tables Delta avec des clients Iceberg et observez les limitations. Pour savoir comment activer les lectures Iceberg, consultez Activer les lectures Iceberg (UniForm).

    Si vous partagez vers Snowflake, seules les tables uniformisées apparaissent pour le destinataire. D'autres tables sont filtrées.

remarque
  • Utilisez DESCRIBE HISTORY pour confirmer que la génération des métadonnées Iceberg est terminée avant que la table puisse être interrogée à partir des clients Iceberg.
  • Le type d'authentification OIDC n'est pas pris en charge.
  1. Ajoutez l'asset de données à un partage. Pour des instructions détaillées, voir :

important

La matérialisation des données côté fournisseur est déclenchée si vous partagez des vues, des vues matérialisées ou des tables de streaming, ce qui pourrait entraîner l’accumulation de coûts de compute. Pour plus d'informations, consultez Comment puis-je engager et vérifier les coûts OpenSharing ?

  1. Partagez avec votre destinataire ouvert. Pour obtenir des instructions sur la création d'un destinataire et l'octroi d'un accès au partage, consultez Créer un objet destinataire pour les utilisateurs non-Databricks à l'aide de jetons de support (partage Databricks-à-Open) ou Activer la fédération Open ID Connect (OIDC) pour les destinataires OpenSharing.

Ressources supplémentaires

Sur cette page