Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Som Azure Databricks mottagare kan du importera en autentiseringsfil från en öppen provider och läsa de delade datatillgångarna. Du kan köra frågor mot delade data i Catalog Explorer eller använda en Python-notebook.
Note
Om data har delats med dig med Databricks-till-Databricks OpenSharing behöver du ingen autentiseringsfil för att komma åt data och den här sidan gäller inte för dig. I stället, se Läs data som delas via Databricks-till-Databricks OpenSharing (för mottagare).
Kravspecifikation
En medlem i ditt team måste ladda ned den autentiseringsfil som dataleverantören delar och använda en säker kanal för att dela filen eller filplatsen med dig. Se Hämta åtkomst i Open-to-Databricks-modellen.
Note
Lagringsbucketens och autentiseringsuppgifternas behörigheter (omfång, giltighetstid, läsbehörighet eller läs-/skrivbehörighet) bestäms av leverantören. Om leverantören är en Azure Databricks-leverantör lägger montering av en öppen delning i en Secure Egress Gateway-arbetsyta (SEG) automatiskt till leverantörens bucket i tillåtelselistan för utgående åtkomst. För öppna leverantörer som inte kommer från Databricks läggs bucketen inte automatiskt till i tillåtelselistan. Kontrollera providern innan du monterar.
Kontrollera att när en öppen provider delar tabeller med autentiseringsuppgifter (katalogbaserad åtkomst) backas dessa tabeller upp av molnlagring som använder något av följande scheman som stöds: s3, s3a, s3n, abfss, wasbs, gseller r2. Tabeller som använder lagring med en metod som inte stöds (till exempel den okrypterade wasb-metoden) kan inte läsas via utdelning av autentiseringsuppgifter.
Importera en provider och fråga efter delade data
I det här avsnittet beskrivs hur du importerar en provider och hur du frågar efter delade data i Catalog Explorer eller i en Python-notebook-fil:
Om din Azure Databricks-arbetsyta är aktiverad för Unity Catalog använder du användargränssnittet för importprovidern i Katalogutforskaren. Du kan göra följande utan att behöva lagra eller ange en autentiseringsfil:
- Skapa kataloger från delningar med ett klick på en knapp.
- Använd åtkomstkontroller för Unity Catalog för att bevilja åtkomst till delade tabeller.
- Fråga efter delade data med standardsyntax för Unity Catalog.
- Tillämpa en roterad autentiseringsuppgift på det befintliga providerobjektet utan att återskapa katalogen. Se Rotera autentiseringsuppgifter för öppna mottagare.
Om din Azure Databricks arbetsyta inte är aktiverad för Unity Catalog följer du instruktionerna för Python notebook i stället.
Katalogutforskaren
Behörigheter som krävs: En metaarkivadministratör eller en användare med behörighet för CREATE PROVIDER ditt Unity Catalog-metaarkiv. Om du vill skapa kataloger från resursen behöver du behörigheten CREATE CATALOG .
På din Azure Databricks-arbetsyta klickar du på
Katalog för att öppna Katalogutforskaren.
Längst upp i fönstret Katalog klickar du på
väljer OpenSharing. Du kan också klicka på Dela > OpenSharing i det övre högra hörnet.
På fliken Delat med mig klickar du på Installera delning.
Ange leverantörens namn. Namnet får inte innehålla blanksteg.
Ladda upp filen med autentiseringsuppgifter som providern delade med dig. Många leverantörer har egna OpenSharing-nätverk som du kan ta emot resurser från. Mer information finns i Providerspecifika konfigurationer.
(Valfritt) Ange en kommentar.
Klicka på Importera.
På fliken Resurser klickar du på Skapa katalog på resursraden för att skapa kataloger från delade data.
Information om hur du använder SQL eller Databricks CLI för att skapa en katalog från en resurs finns i Skapa en katalog från en resurs.
Bevilja åtkomst till katalogerna. Se Hur gör jag delade data tillgängliga för mitt team? och Hantera behörigheter för scheman, tabeller och volymer i en OpenSharing-katalog.
Läs de delade dataobjekten precis som med alla dataobjekt som är registrerade i Unity Catalog.
Mer information och exempel finns i Åtkomst till data i en delad tabell eller volym.
Python
Läs delade data med hjälp av en notebook-fil i din Azure Databricks arbetsyta om arbetsytan inte är aktiverad för Unity Catalog. Lagra autentiseringsfilen i Azure Databricks och använd den sedan för att autentisera till dataprovidern och läsa delade data.
Note
Dessa instruktioner förutsätter att din Azure Databricks-arbetsyta inte är aktiverad för Unity Catalog. Om du använder Unity Catalog behöver du inte peka på autentiseringsfilen när du läser från resursen. Du kan läsa från delade tabeller precis som från alla tabeller som är registrerade i Unity Catalog. Databricks rekommenderar att du använder användargränssnittet för importprovidern i Katalogutforskaren i stället för anvisningarna här.
Lagra först autentiseringsfilen som en Azure Databricks-arbetsytefil så att användare i ditt team kan komma åt delade data.
- Information om hur du importerar autentiseringsfilen i Azure Databricks-arbetsytan finns i Importera en fil.
- Du kan ge andra användare behörighet att komma åt filen genom att klicka på
Bredvid filen och sedan Dela (behörigheter). Ange de Azure Databricks-identiteter som ska ha åtkomst till filen. Mer information om filbehörigheter finns i Fil-ACL:er.
Nu när autentiseringsfilen har lagrats skapar du en notebook-fil för att lista och läsa delade tabeller.
På din Azure Databricks-arbetsyta klickar du på Ny > anteckningsbok. Mer information om Azure Databricks notebooks finns i Databricks notebooks.
Installera anslutningsappen
delta-sharingoch använd Python,pandaseller Apache Spark för att lista och läsa de delade tabellerna. Använd arbetsytans sökväg till din autentiseringsfil (till exempel/Workspace/Users/user.name@email.com/config.share) som profilsökväg. Kodexempel finns i Pandas: Läsa delade data och Apache Spark: Läsa delade data.Förutom kommandona Python och Apache Spark kan du köra frågor mot delade data med hjälp av SQL. Skapa en lokal tabell i arbetsytan från den delade tabellen och gör sedan en fråga mot den lokala tabellen. Delade data lagras eller cachats inte i den lokala tabellen. Varje gång du frågar den lokala tabellen visas det aktuella tillståndet för delade data.
Ersätt variablerna på följande sätt:
-
<local-table-name>: namnet på den lokala tabellen. -
<profile-path>: platsen för autentiseringsfilen. -
<share-name>: värdetshare=för tabellen. -
<schema-name>: värdetschema=för tabellen. -
<table-name>: värdetname=för tabellen.
%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;-
När du kör kommandot efterfrågas delade data direkt. Som ett test efterfrågas tabellen och de första 10 resultaten returneras.
Om utdata är tomma eller inte innehåller de data du förväntar dig kontaktar du dataleverantören.
Begränsningar för OpenSharing Python-anslutningsappen gäller. Se Begränsningar för OpenSharing Python-anslutningsappen.
Limitations
Open-to-Databricks-delning baseras på OpenSharing-protokollet. Följande support gäller när du importerar en öppen provider till Azure Databricks:
- Endast Delta-tabeller som stöder Delta Sharing-protokollet. Tabeller som endast är av typen Iceberg stöds inte.
- Både försignerad URL- och molntokenåtkomst (katalogbaserad) stöds. Azure Databricks föredrar åtkomst till molntoken när providern gör den tillgänglig.
- Endast följande lagringsscheman för molntoken stöds:
s3,s3a,s3n,abfss,wasbs,gsochr2.
Om du vill läsa icke-Delta-data som Iceberg, CSV, Parquet eller JSON från en extern källa använder du Lakehouse Federation i stället. Se Ansluta till externa databaser och kataloger.