Importez un fournisseur et consultez les données partagées dans Databricks
En tant que destinataire Databricks, vous pouvez importer un fichier d'identifiants d'un fournisseur ouvert et lire les assets de données partagés. Vous pouvez query les données partagées dans Catalog Explorer ou utiliser un notebook Python.
Si des données ont été partagées avec vous à l'aide de Databricks-to-Databricks OpenSharing, vous n'avez pas besoin d'un fichier d'identification pour accéder aux données, et cette page ne vous concerne pas. Consultez plutôt Lire les données partagées à l'aide de Databricks-to-Databricks OpenSharing (pour les destinataires).
Exigences
Un membre de votre équipe doit download le fichier d'identifiants que le fournisseur de données partage et utiliser un Canal de distribution sécurisé pour partager ce fichier ou l'emplacement du fichier avec vous. Consultez obtenir l'accès dans le modèle Open-to-Databricks.
Les capacités du bucket de stockage et des identifiants (étendue, expiration, lecture ou lecture/écriture) sont déterminées par le fournisseur. Si le fournisseur est un fournisseur Databricks, le montage d'un partage ouvert dans un workspace de passerelle de sortie sécurisée (SEG) ajoute automatiquement le bucket du fournisseur à la liste blanche pour l'accès sortant. Pour les fournisseurs ouverts non Databricks, le bucket n'est pas automatiquement mis en liste d'autorisation. Veuillez vérifier le fournisseur avant le montage.
Importer un fournisseur et interroger des données partagées
Cette section décrit comment importer un fournisseur et comment query les données partagées dans Catalog Explorer ou dans un Notebook Python :
-
Si votre workspace Databricks est activé pour Unity Catalog, utilisez l'interface utilisateur du fournisseur d'importation dans l'Explorateur de catalogues. Vous pouvez effectuer les opérations suivantes sans avoir besoin de stocker ou de spécifier un fichier d'informations d'identification :
- Créez des catalogues à partir de partages en un clic.
- Utilisez les contrôles d'accès de Unity Catalog pour octroyer l'accès aux tables partagées.
- query les données partagées à l'aide de la syntaxe standard de Unity Catalog.
- Appliquer un identifiant pivoté à l'objet fournisseur existant sans recréer le catalogue. Voir changer les identifiants pour les destinataires ouverts.
-
Si votre Databricks Workspace n'est pas activé pour Unity Catalog, suivez les instructions du Notebook Python à la place.
Explorateur de catalogue
Autorisations requises : Un administrateur de métastore ou un utilisateur disposant du privilège CREATE PROVIDER pour votre métastore Unity Catalog. Pour créer des catalogues à partir du partage, vous avez besoin du privilège CREATE CATALOG.
-
Dans votre Workspace Databricks, cliquez sur
**Catalogue** pour ouvrir l’Explorateur de catalogues.
-
En haut du volet Catalogue , cliquez sur
et sélectionnez OpenSharing . Autrement, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.
-
Dans l'onglet **Shared with me** tab, cliquez sur **Installer le partage**.
-
Saisissez le nom du fournisseur. Le nom ne peut pas inclure d'espaces.
-
upload le fichier d'identification que le fournisseur a partagé avec vous. De nombreux fournisseurs ont leurs propres réseaux OpenSharing à partir desquels vous pouvez recevoir des partages. Pour plus d'informations, consultez Configurations spécifiques au fournisseur.
-
(Facultatif) Saisissez un commentaire.

-
Cliquez sur **Importer**.
-
Sous l'onglet Shares , cliquez sur Créer un catalogue sur la ligne de partage pour créer des catalogues à partir de données partagées.
Pour obtenir des informations sur l'utilisation de SQL ou de l'interface CLI Databricks afin de créer un catalogue à partir d'un partage, voir Créer un catalogue à partir d'un partage.
-
Accorder l'accès aux catalogues. Voir Comment rendre les données partagées disponibles pour mon équipe ? et Gérer les autorisations pour les schémas, les tables et les volumes dans un catalogue OpenSharing.
-
Lisez les objets de données partagés tout comme vous le feriez pour n'importe quel objet de données enregistré dans Unity Catalog.
Pour plus de détails et d'exemples, consultez Accéder aux données dans une table ou un volume partagé.
Python
Lisez les données partagées à l'aide d'un Notebook dans votre workspace Databricks si votre workspace n'est pas activé pour Unity Catalog. Stockez le fichier d'identifiants dans Databricks, puis utilisez-le pour vous authentifier auprès du fournisseur de données et lire les données partagées.
Ces instructions supposent que votre Workspace Databricks n'est pas activé pour Unity Catalog. Si vous utilisez Unity Catalog, vous n'avez pas besoin de pointer vers le fichier d'identifiants lorsque vous lisez à partir du partage. Vous pouvez lire à partir de tables partagées comme vous le feriez à partir de n'importe quelle table enregistrée dans Unity Catalog. Databricks vous recommande d'utiliser l'interface utilisateur d'importation de fournisseur dans Catalog Explorer au lieu des instructions fournies ici.
Stockez d'abord le fichier d'identifiants en tant que fichier de workspace Databricks afin que les utilisateurs de votre équipe puissent accéder aux données partagées.
- Pour importer le fichier d'identifiants dans votre Workspace Databricks, consultez Importer un fichier.
- Vous pouvez accorder à d'autres utilisateurs l'autorisation d'accéder au fichier en cliquant sur
à côté du fichier, puis sur Partager (Autorisations) . Saisissez les identités Databricks qui doivent avoir accès au fichier. Pour plus d'informations sur les permissions de fichiers, consultez ACL de fichiers.
Maintenant que le fichier d'identifiants est stocké, créez un notebook pour lister et lire les tables partagées.
-
Dans votre workspace Databricks, cliquez sur Nouveau > Notebook . Pour plus d'informations sur les Notebooks Databricks, consultez les Notebooks Databricks.
-
Installez le connecteur
delta-sharinget utilisez Python,pandasou Apache Spark pour lister et lire les tables partagées. Utilisez le chemin du workspace vers votre fichier d'informations d'identification (par exemple,/Workspace/Users/user.name@email.com/config.share) comme chemin de profil. Pour des exemples de code, consultez Pandas : lire les données partagées et Apache Spark : lire les données partagées. -
Outre les commandes Python et Apache Spark, vous pouvez query les données partagées à l'aide de SQL. Créez une table locale dans le Workspace à partir de la table partagée, puis query la table locale. Les données partagées ne sont pas stockées ni mises en cache dans la table locale. Chaque fois que vous query la table locale, vous voyez l'état actuel des données partagées.
Remplacez les variables comme suit :
<local-table-name>: le nom de la table locale.<profile-path>: l'emplacement du fichier d'identifiants.<share-name>: la valeur deshare=pour la table.<schema-name>: la valeur deschema=pour la table.<table-name>: la valeur dename=pour la table.
%sql
DROP TABLE IF EXISTS <local-table-name>;
CREATE TABLE <local-table-name> USING deltaSharing LOCATION "<profile-path>#<share-name>.<schema-name>.<table-name>";
SELECT * FROM <local-table-name> LIMIT 10; -
Lorsque vous exécutez la commande, les données partagées sont interrogées directement. À titre de test, la table est interrogée et les 10 premiers résultats sont renvoyés.
-
Si la sortie est vide ou ne contient pas les données que vous attendez, contactez le fournisseur de données.
Les limitations du connecteur OpenSharing Python s’appliquent. Consultez les limitations du connecteur OpenSharing Python.
Limitations
Le partage Open-to-Databricks est basé sur le protocole OpenSharing. Le support suivant s'applique lorsque vous importez un fournisseur ouvert dans Databricks :
- Seules les tables Delta qui prennent en charge le protocole Delta Sharing. Les tables Iceberg uniquement ne sont pas prises en charge.
- Les URL pré-signées et l'accès au cloud par jeton (basé sur le répertoire) sont pris en charge. Databricks privilégie l'accès par jeton cloud lorsque le fournisseur le met à disposition.
- Seuls les schémas de stockage de jetons cloud suivants sont pris en charge :
s3,s3a,s3n,abfss,wasbs,gsetr2.
Pour lire des données non-Delta, telles que Iceberg, CSV, Parquet ou JSON, à partir d'une source externe, utilisez plutôt Lakehouse Federation. Consultez Se connecter à des bases de données et des catalogues externes.