Qu'est-ce qu'OpenSharing ?
OpenSharing est la plateforme de Data Sharing sécurisée dans Databricks qui vous permet de partager des données et des assets d'IA avec des utilisateurs extérieurs à votre organisation, qu'ils utilisent Databricks ou non. OpenSharing est également la base de Databricks Marketplace, un forum ouvert pour l'échange de produits de données, et de Clean Rooms, un environnement sécurisé et protégeant la confidentialité où plusieurs parties peuvent travailler ensemble sur des données d'entreprise sensibles.
OpenSharing est également disponible sous forme de projet open source que vous pouvez utiliser pour partager des tables Delta à partir d'autres plateformes.
Comment fonctionne OpenSharing ?
OpenSharing est un protocole ouvert développé par Databricks pour le Data Sharing sécurisé avec d'autres organisations. Cela fonctionne indépendamment des plateformes de calcul que ces organisations utilisent.
Il existe plusieurs façons de partager des données à l'aide d'OpenSharing :
-
Le protocole de partage Databricks-to-Databricks , qui vous permet de partager des données et des assets d'IA depuis votre workspace compatible Unity Catalog avec les utilisateurs qui ont également accès à un workspace Databricks compatible Unity Catalog.
Cette approche utilise le serveur OpenSharing intégré à Databricks. Il prend en charge certaines fonctionnalités OpenSharing qui ne sont pas prises en charge dans les autres protocoles, notamment le partage de Notebook, le partage de volume Unity Catalog, le partage de modèle d’IA Unity Catalog, la gouvernance des données Unity Catalog, l’audit et le suivi de l’utilisation pour les fournisseurs et les destinataires. L'intégration avec Unity Catalog simplifie la configuration et la gouvernance pour les fournisseurs et les bénéficiaires et améliore les performances.
Consultez Qu’est-ce que le protocole OpenSharing Databricks-to-Databricks ?.
-
**Le protocole de partage Databricks-to-Open**, qui vous permet de partager des données tabulaires que vous gérez dans un Workspace Databricks compatible avec Unity Catalog avec les utilisateurs de n'importe quelle plateforme informatique.
Cette approche utilise le serveur OpenSharing intégré à Databricks et est utile lorsque vous gérez des données à l'aide d'Unity Catalog et souhaitez les partager avec des utilisateurs qui n'utilisent pas Databricks ou n'ont pas accès à un workspace Databricks activé pour Unity Catalog. L'intégration avec Unity Catalog côté fournisseur simplifie la configuration et la gouvernance pour les fournisseurs.
Consultez Qu'est-ce que le protocole de partage Databricks-à-Ouvert ?.
-
Une implémentation gérée par le client du serveur OpenSharing open source , qui vous permet de partager de n'importe quelle plateforme vers n'importe quelle plateforme, que ce soit Databricks ou non.
La documentation Databricks ne fournit pas d'instructions pour configurer votre propre serveur OpenSharing. Consultez le projet open source.
-
**Le connecteur SAP Business Data Cloud (BDC) pour Databricks**, qui vous permet de partager des données entre votre workspace compatible Unity Catalog et un compte SAP BDC.
Cette approche utilise le connecteur SAP BDC, qui utilise OpenSharing pour un accès en direct et sans copie aux produits de données SAP BDC.
Partages, fournisseurs et destinataires
Les concepts principaux sous-jacents à OpenSharing dans Databricks sont les *partages*, les *fournisseurs* et les *destinataires*.
Qu'est-ce qu'un partage ?
Dans OpenSharing, un partage est un ensemble en lecture seule de tables et de partitions de table qu'un fournisseur souhaite partager avec un ou plusieurs destinataires. Si votre destinataire utilise un workspace Databricks compatible avec Unity Catalog, vous pouvez également inclure des fichiers notebook, des vues (y compris des vues dynamiques qui restreignent l'accès au niveau des lignes et des colonnes), des volumes Unity Catalog et des modèles Unity Catalog dans un partage.
Vous pouvez ajouter ou supprimer des tables, des tables de streaming, des tables Iceberg gérées, des vues, des vues matérialisées, des volumes, des modèles et des fichiers Notebook d'un partage à tout moment, et vous pouvez attribuer ou révoquer l'accès des destinataires des données à un partage à tout moment.
Dans un workspace Databricks compatible avec Unity Catalog, un partage est un objet sécurisable enregistré dans Unity Catalog. Si vous supprimez un partage de votre métastore Unity Catalog, tous les destinataires de ce partage perdent la capacité d'y accéder.
Voir Créer des partages pour OpenSharing.
Qu’est-ce qu’un fournisseur ?
Un fournisseur est une entité qui partage des données avec un destinataire. Si vous êtes un fournisseur et que vous souhaitez profiter du serveur Databricks OpenSharing intégré et gérer les partages et les destinataires à l'aide d'Unity Catalog, vous avez besoin d'au moins un workspace Databricks activé pour Unity Catalog. Vous n'avez pas besoin de migrer tous vos workspaces existants vers Unity Catalog. Vous pouvez simplement créer un nouveau workspace compatible avec Unity Catalog pour vos besoins OpenSharing.
Si un destinataire se trouve sur un workspace Databricks où Unity Catalog est activé, le fournisseur est également un objet sécurisable Unity Catalog qui représente l'organisation du fournisseur et associe cette organisation à un ensemble de partages.
Qu'est-ce qu'un destinataire ?
Un *destinataire* est une entité qui reçoit des partages d'un fournisseur. Dans Unity Catalog, un destinataire est un objet sécurisable qui représente une organisation et l'associe à une authentification ou un identifiant de partage sécurisé qui permet à cette organisation d'accéder à un ou plusieurs partages.
En tant que fournisseur de données (partageur), vous pouvez définir plusieurs destinataires pour tout métastore Unity Catalog donné, mais si vous souhaitez partager des données de plusieurs métastores avec un utilisateur ou un groupe d'utilisateurs particulier, vous devez définir le destinataire séparément pour chaque métastore. Un destinataire peut avoir accès à plusieurs partages.
Si un fournisseur supprime un destinataire de son metastore Unity Catalog, ce destinataire perd l'accès à tous les partages auxquels il avait précédemment accès.
Consultez Créer des destinataires de données pour OpenSharing (partage Databricks-to-Databricks).
Partage Databricks-à-Open comparé au partage Databricks-to-Databricks
Cette section décrit les deux protocoles de partage à partir d'un workspace Databricks pour lequel Unity Catalog est activé.
Cette section suppose que le fournisseur se trouve sur un workspace Databricks activé pour Unity Catalog. Pour en savoir plus sur la configuration d'un serveur OpenSharing open source pour partager à partir d'une plateforme non-Databricks ou d'un workspace non-Unity Catalog, consultez le projet open source.
La manière dont un fournisseur utilise OpenSharing dans Databricks dépend de la personne avec laquelle il partage les données :
- Open sharing vous permet de partager des données avec n'importe quel utilisateur, qu'il ait accès à Databricks ou non.
- Le partage Databricks-to-Databricks vous permet de partager des données avec des utilisateurs Databricks dont le Workspace est attaché à un metastore Unity Catalog différent du vôtre. Databricks-to-Databricks prend également en charge le partage de Notebooks, de volumes et de modèles, ce qui n'est pas disponible dans le partage Databricks-to-Open.
Qu'est-ce qu'OpenSharing ouvert ?
Si vous souhaitez partager des données avec des utilisateurs extérieurs à votre Workspace Databricks, qu'ils utilisent Databricks ou non, vous pouvez utiliser OpenSharing en accès ouvert pour partager vos données en toute sécurité. En tant que fournisseur de données, vous gérez l'authentification avec le destinataire du partage en utilisant l'une des méthodes suivantes :
- Vous générez un jeton de porteur de longue durée et le partagez en toute sécurité avec le destinataire. Ils utilisent le jeton pour s'authentifier et obtenir un accès en lecture aux tables que vous avez incluses dans les partages auxquels vous leur avez donné accès.
- Vous utilisez la fédération Open ID Connect (OIDC), octroyant des jetons OAuth Databricks à courte durée de vie au destinataire en échange de jetons JWT que le fournisseur d'identité (IdP) du destinataire transmet à Databricks.
Les destinataires peuvent accéder aux données partagées à l'aide de nombreux outils et plateformes informatiques, notamment :
- Databricks
- Apache Spark
- Pandas
- Power BI
Pour une liste complète des connecteurs OpenSharing et des informations sur leur utilisation, consultez la documentation OpenSharing.
Voir aussi Qu'est-ce que le protocole de partage Databricks-vers-Open ?.
Qu'est-ce que Databricks-to-Databricks OpenSharing ?
Si vous souhaitez partager des données avec des utilisateurs qui possèdent un Workspace Databricks activé pour Unity Catalog, vous pouvez utiliser Databricks-to-Databricks OpenSharing. Le partage Databricks-to-Databricks vous permet de partager des données avec des utilisateurs d’autres comptes Databricks, qu’ils soient sur AWS, Azure ou GCP. C'est aussi un excellent moyen de partager des données en toute sécurité entre différents metastores Unity Catalog dans votre propre compte Databricks. Notez qu’il n’est pas nécessaire d’utiliser OpenSharing pour partager des données entre des Workspace attachés au même metastore Unity Catalog, car dans ce scénario, vous pouvez utiliser Unity Catalog lui-même pour gérer l’accès aux données entre les Workspace.
Un avantage du partage Databricks-to-Databricks est que le destinataire du partage n’a pas besoin d’un jeton pour accéder au partage, et le fournisseur n’a pas besoin de gérer les jetons du destinataire. La sécurité de la connexion de partage — y compris toutes les vérifications d'identité, l'authentification et l'audit — est entièrement gérée via OpenSharing et la plateforme Databricks. Un autre avantage est la possibilité de partager des fichiers de Notebook Databricks, des volumes Unity Catalog et des modèles Unity Catalog.
Voir aussi Qu'est-ce que le protocole OpenSharing Databricks-to-Databricks ?.
Comment les administrateurs fournisseurs configurent-ils OpenSharing ?
Cette section donne un aperçu de la façon dont les fournisseurs peuvent activer OpenSharing et initier le partage à partir d'un workspace Databricks compatible Unity Catalog. Pour OpenSharing open source, consultez le projet open source.
Le partage Databricks-to-Databricks entre les metastores Unity Catalog dans le même compte est toujours activé. Si vous êtes un fournisseur qui souhaite activer OpenSharing pour partager des données avec des workspaces Databricks dans d'autres comptes ou avec des clients non-Databricks, un administrateur de compte Databricks ou un administrateur de métastore effectue les étapes de configuration suivantes (à un niveau élevé) :
- Activez OpenSharing pour le metastore Unity Catalog qui gère les données que vous souhaitez partager.
Vous n'avez pas besoin d'activer OpenSharing sur votre metastore si vous avez l'intention d'utiliser OpenSharing pour partager des données uniquement avec des utilisateurs sur d'autres metastores Unity Catalog de votre compte. Le partage de métastore à métastore au sein d'un seul compte Databricks est activé par default.
Consultez Activer OpenSharing sur un metastore. 2. Créez un partage qui inclut des assets de données enregistrés dans le métastore Unity Catalog.
Si vous partagez avec un destinataire non-Databricks (connu sous le nom de partage Databricks-to-Open), vous pouvez inclure des tables au format Delta. Si vous prévoyez d’utiliser le partage Databricks-to-Databricks, vous pouvez également ajouter des vues, des volumes Unity Catalog, des modèles Unity Catalog et des fichiers Notebook à un partage.
Voir Créer des partages pour OpenSharing. 3. Créer un destinataire.
Consultez Créer des destinataires de données pour OpenSharing (partage Databricks-to-Databricks).
Si votre destinataire n'est pas un utilisateur Databricks, ou n'a pas accès à un workspace Databricks activé pour Unity Catalog, vous devez utiliser le partage Databricks-vers-Open. Vous pouvez soit générer des informations d'identification basées sur un jeton porteur pour ce destinataire, soit utiliser la fédération OIDC.
Si votre destinataire a accès à un workspace Databricks activé pour Unity Catalog, vous pouvez utiliser le partage Databricks-to-Databricks, et aucune identification par jeton n'est requise. Vous demandez un identifiant de partage au destinataire et l’utilisez pour établir la connexion sécurisée.
Utilisez-vous comme destinataire de test pour essayer le processus de configuration.
-
Accordez au destinataire l'accès à un ou plusieurs partages.
Consultez Gérer l'accès aux partages de données OpenSharing (pour les fournisseurs).
Cette étape peut également être effectuée par un utilisateur non-administrateur avec les privilèges USE SHARE, USE RECIPIENT et SET SHARE PERMISSION. Consulter la référence des privilèges Unity Catalog.
-
Envoyez au destinataire les informations dont il a besoin pour se connecter au partage (partage Databricks-à-Open uniquement).
Pour le partage Databricks-to-Open à l'aide de jetons de support, utilisez un canal sécurisé pour envoyer au destinataire un link d'activation qui lui permet de download ses informations d'identification basées sur des jetons. Consultez Envoyer les informations de connexion au destinataire.
Pour le partage Databricks vers Open à l'aide de la fédération de jetons OIDC, envoyez l'URL du portail générée. Consultez Activer la fédération Open ID Connect (OIDC) pour les destinataires OpenSharing.
Pour le partage Databricks-to-Databricks, les données incluses dans le partage deviennent disponibles dans le workspace Databricks du destinataire dès que vous leur accordez l'accès au partage.
Le destinataire peut désormais accéder aux données partagées.
Comment les destinataires accèdent-ils aux données partagées ?
Les destinataires accèdent aux assets de données partagés en format lecture seule. Les fichiers notebook partagés sont en lecture seule, mais ils peuvent être clonés, puis modifiés et exécutés dans le Workspace du destinataire comme n’importe quel autre notebook.
L’accès sécurisé dépend du modèle de partage :
-
Le partage Databricks-vers-Open (le destinataire n'a pas de workspace Databricks activé pour Unity Catalog) offre deux options :
- Dans le flux de jetons porteurs, le destinataire fournit les informations d'identification chaque fois qu'il accède aux données dans l'outil de son choix, y compris Apache Spark, Pandas, Power BI, Databricks, et bien d'autres. Voir Lire les données partagées avec des jetons porteurs.
- Dans le flux de fédération de jetons OIDC, le destinataire ou l'application cliente du destinataire accède aux données à l'aide de son propre fournisseur d'identité (IdP). Consultez Lire les données partagées à l'aide de la fédération Open ID Connect (OIDC) dans un flux U2M et Lire les données partagées à l'aide de la fédération Open ID Connect (OIDC) dans un flux M2M.
-
Databricks-to-Databricks (le workspace du destinataire est activé pour Unity Catalog) : le destinataire accède aux données à l'aide de Databricks. Ils peuvent utiliser Unity Catalog pour accorder et refuser l'accès à d'autres utilisateurs dans leur compte Databricks. Voir lire les données partagées à l'aide de Databricks-to-Databricks OpenSharing (pour les destinataires).
Chaque fois que le fournisseur de données met à jour des tables ou des volumes de données dans son propre compte Databricks, les mises à jour apparaissent en quasi temps réel dans le système du destinataire. Pour savoir comment accéder aux données qui vous ont été partagées via OpenSharing, consultez Accéder aux données partagées avec vous via OpenSharing (pour les destinataires).
Comment suivez-vous qui partage et accède aux données partagées ?
Les fournisseurs de données sur les workspaces Databricks avec Unity Catalog activé peuvent utiliser l'audit logging et les tables système de Databricks pour surveiller la création et la modification des partages et des destinataires, et peuvent surveiller l'activité des destinataires sur les partages. Voir Auditer et suivre le Data Sharing.
Les destinataires de données qui utilisent des données partagées dans un Workspace Databricks peuvent utiliser la journalisation d'audit Databricks et les tables système pour comprendre qui accède à quelles données. Voir Auditer et suivre le Data Sharing.
Partage de volumes
Vous pouvez partager des volumes à l’aide du flux de partage Databricks-to-Databricks. Consultez Ajouter des volumes à un partage (pour les fournisseurs) et Lire les données partagées à l’aide de Databricks-to-Databricks OpenSharing (pour les destinataires) (pour les destinataires).
Partage de modèles
Vous pouvez partager des modèles à l'aide du flux de partage Databricks-to-Databricks. Consultez Ajouter des modèles à un partage (pour les fournisseurs) et Lire les données partagées à l'aide de Databricks-to-Databricks OpenSharing (pour les destinataires) (pour les destinataires).
Partage de Notebook
Vous pouvez utiliser OpenSharing pour partager des fichiers notebook à l'aide du flux de partage Databricks-to-Databricks. Consultez Ajouter des fichiers Notebook à un partage (pour les fournisseurs) et Lire les Notebooks partagés (pour les destinataires).
Restriction de l'accès au niveau des lignes et des colonnes lors du partage des vues
Vous pouvez partager des vues dynamiques qui restreignent l'accès à certaines données de table en fonction des propriétés des destinataires. Voir Ajouter des vues dynamiques à un partage pour filtrer les lignes et les colonnes.
OpenSharing et streaming
OpenSharing prend en charge Apache Spark Structured Streaming. Un fournisseur peut partager une table avec l'historique ou une table de streaming afin qu'un destinataire puisse l'utiliser comme source Structured Streaming, en traitant les données partagées de manière incrémentielle avec une faible latence. Les destinataires peuvent également effectuer des queries Delta Lake time travel sur les tables partagées avec l'historique.
Pour savoir comment partager des tables avec l'historique, consultez Ajouter des tables à un partage. Pour savoir comment utiliser les tables partagées comme sources de streaming, consultez Query a table using Apache Spark Structured Streaming (pour les destinataires du partage Databricks-to-Databricks) ou Access a shared table using Spark Structured Streaming (pour les destinataires des données partagées Databricks-to-Open).
Pour savoir comment partager des tables de streaming, consultez Ajouter des tables de streaming à un partage.
Voir aussi les concepts de Structured Streaming.
matrice de prise en charge des fonctionnalités Delta Lake
OpenSharing prend en charge la plupart des fonctionnalités Delta Lake lorsque vous partagez une table. Cette matrice de prise en charge liste :
- Fonctionnalités Delta qui nécessitent des versions spécifiques de Databricks Runtime, du connecteur Spark open source OpenSharing ou du connecteur Python open source OpenSharing.
- Fonctionnalités partiellement prises en charge.
Fonctionnalité | Fournisseur | Destinataire Databricks | Destinataire open source |
|---|---|---|---|
Vecteurs de suppression |
|
|
|
Mappage de colonnes |
|
|
|
Format uniforme |
|
|
|
Point de contrôle V2 | Pris en charge avec des limites | Pris en charge avec des limites | Pris en charge avec des limites |
TimestampNTZ | Pris en charge | Databricks Runtime 14.1+ | Connecteur OpenSharing Spark 3,3+ |
Clustering fluide | Pris en charge avec des limites | Pris en charge avec des limites | Pris en charge avec des limites |
OpenSharing : FAQ
Voici les questions fréquemment posées sur OpenSharing.
Ai-je besoin d'Unity Catalog pour utiliser OpenSharing ?
Non, vous n'avez pas besoin de Unity Catalog pour partager (en tant que fournisseur) ou consommer des données partagées (en tant que destinataire). Cependant, Unity Catalog offre des avantages tels que la prise en charge du partage d'assets non tabulaires et d'IA, une gouvernance prête à l'emploi, la simplicité et les performances des requêtes.
Les fournisseurs peuvent partager des données de deux manières :
-
Placez les assets à partager sous la gestion de Unity Catalog et partagez-les à l'aide du serveur Databricks OpenSharing intégré.
Vous n'avez pas besoin de migrer tous les assets vers Unity Catalog. Vous n'avez besoin que d'un seul Workspace Databricks activé pour Unity Catalog afin de gérer les assets que vous souhaitez partager. Dans certains comptes, les nouveaux Workspace sont activés pour Unity Catalog automatiquement. Voir Se familiariser avec Unity Catalog.
-
Implémentez le serveur de partage Databricks-to-Open pour partager des données, sans nécessairement utiliser votre compte Databricks.
Les destinataires peuvent consommer des données de deux manières :
-
Sans Databricks Workspace. Utilisez les connecteurs open source OpenSharing qui sont disponibles pour de nombreuses plateformes de données, y compris Power BI, pandas et Apache Spark open source. Voir Lire les données partagées avec des jetons porteurs et le projet open source OpenSharing.
-
Dans un workspace Databricks. Les workspaces destinataires n'ont pas besoin d'être activés pour Unity Catalog, mais il y a des avantages en termes de gouvernance, de simplicité et de performances s'ils le sont.
Les organisations destinataires qui souhaitent ces avantages n'ont pas besoin de migrer tous les assets vers Unity Catalog. Vous n'avez besoin que d'un seul Workspace Databricks activé pour Unity Catalog pour gérer les assets qui vous sont partagés. Dans certains comptes, les nouveaux Workspace sont activés pour Unity Catalog automatiquement. Voir Se familiariser avec Unity Catalog.
Voir Lire les données partagées avec des jetons d'authentification et Lire les données partagées à l'aide de Databricks-to-Databricks OpenSharing (pour les destinataires).
Dois-je être client Databricks pour utiliser OpenSharing ?
Non, OpenSharing est un protocole ouvert. Vous pouvez partager des données non Databricks avec des destinataires sur n’importe quelle plateforme de données. Les fournisseurs peuvent configurer un serveur OpenSharing ouvert pour partager à partir de n'importe quelle plateforme de calcul. Les destinataires peuvent consommer des données partagées à l'aide de connecteurs OpenSharing open source pour de nombreux produits de données, y compris Power BI, Pandas et Spark open source.
Cependant, l’utilisation d’OpenSharing sur Databricks, en particulier le partage à partir d’un Workspace compatible Unity Catalog, présente de nombreux avantages.
Pour plus de détails, consultez la première question de cette FAQ.
Comment puis-je engager et vérifier les coûts OpenSharing ?
Le coût d'OpenSharing est encouru lors du partage et de l'accès aux vues, aux vues matérialisées et aux tables de streaming. Voici les sources de coût potentielles pour le partage :
-
Coût du compute, facturé par Databricks.
-
Coût du stockage et du transfert réseau (sortie), facturé par le fournisseur de stockage, ou par Databricks si le fournisseur utilise SecureConnect.
-
Coût de la source de compute externe, lors du partage de schémas et de tables externes.
La méthode par laquelle le compute est effectué et qui le paie dépend de plusieurs facteurs :
- Le type de compute du destinataire
- Que le partage se produise au sein du même compte Databricks ou entre des comptes
Le tableau suivant décrit la méthode de facturation pour le partage et l'accès aux vues via OpenSharing :
Compute du destinataire | Relation de compte | Qui paie | SKU utilisé pour la facturation | Méthode d'accès |
|---|---|---|---|---|
Databricks Serverless | Tout | Destinataire* | Serverless du destinataire | Le destinataire reçoit un accès direct aux données sous-jacentes. |
Databricks Classique | Même compte | Destinataire* | Classique du destinataire | Le destinataire reçoit un accès direct aux données sous-jacentes. |
Databricks Classique | Autre compte | Destinataire | Serverless interactif du fournisseur | Le fournisseur effectue le filtrage |
Connecteurs de partage Databricks vers Open | Tout | Fournisseur | Serverless interactif du fournisseur | Le fournisseur effectue le filtrage |
* Lorsque vous utilisez OpenSharing avec un destinataire utilisant un compute Serverless dans un compte différent, ou avec un destinataire dans le même compte, il n'y a pas de frais supplémentaires. Cela signifie qu'il n'y a aucun coût supplémentaire pour la matérialisation de l'actif de données.
Lors du partage de tables étrangères (bêta), la matérialisation est toujours effectuée et stockée côté fournisseur. Pour les tables Iceberg externes, la matérialisation est effectuée côté fournisseur lors du partage avec un destinataire ouvert n'utilisant pas de client Iceberg. Les fournisseurs pourraient voir un frais supplémentaire attribué au stockage default utilisé pour la matérialisation des données. Il n'y a pas de coûts de compute pour les tables étrangères pendant la Beta.
L'attribution de la facturation est également interrogeable à l'aide de la référence de table système du billable usage et de la référence de table système de l'historique de matérialisation OpenSharing. Si le destinataire paie pour l'attribution, seul le destinataire peut consulter l'enregistrement associé dans la table système. Pour des exemples de queries, consultez Exemples de queries.
OpenSharing entraîne-t-il des coûts de sortie des données ?
OpenSharing au sein d'une région n'entraîne aucun coût de sortie. Contrairement aux autres plateformes de Data Sharing, OpenSharing ne nécessite pas la réplication des données. Ce modèle présente de nombreux avantages, mais cela signifie que votre fournisseur de cloud peut facturer des frais de sortie de données lorsque vous partagez des données entre des clouds ou des régions. Databricks prend en charge le partage depuis Cloudflare R2, qui n'entraîne aucun frais de sortie, et fournit d'autres outils et recommandations pour surveiller et éviter les frais de sortie. Consultez Surveiller et gérer les coûts de sortie de données OpenSharing (pour les fournisseurs).
Toutefois, si le fournisseur utilise SecureConnect, le transfert de données est facturé par Databricks au lieu du fournisseur cloud.
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 ?
Pour les vues partagées, les vues matérialisées et les tables de streaming, le destinataire des données a un accès direct si l'une des conditions suivantes est vraie :
- Le destinataire utilise le compute serverless ou le compute classique non dédié sur le même compte Databricks.
- Le destinataire utilise le compute serverless sur un autre compte Databricks.
Sinon, les données sont matérialisées et filtrées côté fournisseur.
Lorsque SecureConnect est activé, ces assets sont toujours matérialisés et filtrés côté fournisseur, même dans les scénarios énumérés ci-dessus.
La matérialisation des données est stockée sous l’emplacement de stockage parent de l’asset de données partagé.
Lors du partage d'assets matérialisés, le compute traite la requête en appliquant les filtres nécessaires et en créant une matérialisation temporaire mise en cache dans le stockage du fournisseur. Ces données filtrées sont distribuées aux destinataires à l'aide d'URL pré-signées de courte durée, garantissant un accès sécurisé tout en maintenant le contrôle d'accès du fournisseur au destinataire.
Les fournisseurs peuvent-ils révoquer l'accès des destinataires ?
Oui, l'accès des destinataires peut être révoqué à la demande et à des niveaux de granularité spécifiés. Vous pouvez refuser l'accès des destinataires à des partages spécifiques et à des adresses IP spécifiques, filtrer les données tabulaires pour un destinataire, révoquer les jetons des destinataires et supprimer entièrement les destinataires. Consultez Révoquer l'accès d'un destinataire à un partage et Créer des destinataires de données pour OpenSharing (partage Databricks-à-Databricks).
N'est-il pas dangereux d'utiliser des URL pré-signées ?
OpenSharing utilise des URL pré-signées pour fournir un accès temporaire à un fichier dans un stockage d'objets. Ils ne sont donnés qu'aux destinataires qui ont déjà accès aux données partagées. Ils sont sécurisés car ils sont de courte durée et n'étendent pas le niveau d'accès au-delà de ce qui a déjà été accordé aux destinataires.
Les jetons utilisés dans le protocole de partage Databricks-vers-Open sont-ils sécurisés ?
Parce qu'OpenSharing permet le partage multiplateforme — à la différence des autres plateformes de Data Sharing disponibles — le protocole de partage requiert un jeton ouvert. Les fournisseurs peuvent assurer la sécurité des jetons en configurant la durée de vie des jetons, en définissant des contrôles réseau et en révoquant l'accès à la demande. De plus, le jeton n'étend pas le niveau d'accès au-delà de ce qui a déjà été accordé aux destinataires. Consultez Considérations de sécurité pour les jetons.
Si vous préférez ne pas utiliser de tokens pour gérer l'accès aux partages de destinataires, vous devez utiliser le partage Databricks-to-Databricks ou contacter votre équipe de compte Databricks pour des alternatives.
Quelle est la différence entre Lakeflow Connect et OpenSharing ?
OpenSharing vous permet de partager en toute sécurité des données actives entre plateformes, clouds et régions. Databricks recommande l'ingestion à l'aide de connecteurs gérés, car ils montent en charge pour s'adapter aux volumes de données élevés, aux requêtes à faible latence et aux limites des API tierces. Cependant, vous souhaiterez peut-être **query** vos données sans les déplacer.
Lorsque vous avez le choix entre les connecteurs gérés et OpenSharing, choisissez OpenSharing pour les scénarios suivants :
- Limiter la duplication des données.
- Interrogation des données les plus récentes possible.
Limitations
Format de table et prise en charge des fonctionnalités
Exigences de format :
- Les données tabulaires doivent être au format de table Delta ou Iceberg gérée. Vous pouvez facilement convertir des tables Parquet en Delta, et inversement. See CONVERT TO DELTA.
- OpenSharing ne peut lire les tables UniForm qu'en tant que tables Delta.
Tables non prises en charge :
- Les fournisseurs ne peuvent pas partager les tables qui utilisent le clustering fluide avec le filtrage des partitions.
- Les fournisseurs ne peuvent pas partager de tables R2 avec le point de contrôle V2.
- Les fournisseurs ne peuvent pas partager de tables avec les classements activés.
- Les fournisseurs ne peuvent pas partager de tables avec des filtres de ligne ou des masques de colonne.
- Les fournisseurs ne peuvent pas partager les tables
SHALLOW CLONE. Databricks ne prend pas en charge la pré-signature des URL pour les logs Delta qui référencent des chemins absolus. - Les fournisseurs ne peuvent pas partager de tables Iceberg gérées avec des clients Iceberg externes. Consultez Ajouter des tables Iceberg gérées à un partage et Activer le partage avec des clients Iceberg externes.
- Les contraintes de clé étrangère ne sont pas disponibles dans les tables partagées.
Partage Databricks-to-Databricks uniquement
Les assets suivants peuvent être partagés uniquement à l'aide du flux de partage Databricks-to-Databricks :
- Partage de Notebook. Consulter Ajouter des fichiers Notebook à un partage et Lire les données partagées à l'aide de Databricks-to-Databricks OpenSharing (pour les destinataires).
- Partage de volumes. Consultez Ajouter des volumes à un partage (pour les fournisseurs) et Lire les données partagées à l'aide de Databricks-to-Databricks OpenSharing (pour les destinataires).
- Partage de modèles. Consultez Ajouter des modèles à un partage (pour les fournisseurs) et Lire les données partagées à l'aide de Databricks-to-Databricks OpenSharing (pour les destinataires).
Vues
- Les vues partageables doivent être définies sur des tables Delta ou d'autres vues partageables. Consultez Ajouter des vues à un partage (pour les fournisseurs) et Lire les vues partagées (pour les destinataires).
streaming
- OpenSharing ne prend pas en charge la modification de
responseFormatlorsqu'une source de streaming est en cours d'exécution ou pendant les redémarrages de streaming.
Métadonnées du destinataire
- Les tables dans
information_schemad'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_schemapourrait apparaître obsolète par rapport aux données du fournisseur.
Limites de ressources et techniques
- Il existe des limites sur le nombre de fichiers dans les métadonnées autorisés pour une table partagée. Pour en savoir plus, consultez les erreurs de dépassement de limite de Ressources.
- Les schémas nommés
information_schemane peuvent pas être importés dans un metastore Unity Catalog, car ce nom de schéma est réservé dans Unity Catalog.
Voir aussi la matrice de prise en charge des fonctionnalités de Delta Lake.
Les suppressions en cascade contournent la protection des partages
La suppression d'un objet parent, tel qu'un catalogue ou un schéma, Trigger une suppression en cascade de ses objets enfants, même si ces objets enfants sont inclus dans des partages actifs. Après une suppression en cascade d'un asset, vous ne pouvez pas rajouter un asset portant le même nom au partage.
Pour éviter ce problème, supprimez les actifs de tous les partages avant de supprimer leurs objets parents.
Quotas de ressources
Databricks impose des quotas de ressources sur tous les objets sécurisables OpenSharing. Ces quotas sont listés dans les Limites de ressources. Si vous prévoyez de dépasser ces limites de ressources, contactez l'équipe de votre compte Databricks.
Vous pouvez surveiller votre utilisation des quotas à l'aide des API de quotas de ressources Unity Catalog. Consultez Surveiller votre utilisation des quotas de ressources Unity Catalog.
Ressources supplémentaires
- Activez votre compte Databricks pour OpenSharing
- Créer des partages
- Créer des destinataires
- En savoir plus sur les modèles de partage Databricks-vers-Open et Databricks-to-Databricks.
- Découvrez comment les destinataires accèdent aux données partagées