Sdílet prostřednictvím


Co je to sdílení Delta?

Tento článek představuje rozdílové sdílení v Azure Databricks, což je zabezpečená platforma pro sdílení dat, která umožňuje sdílet data a prostředky AI v Azure Databricks s uživateli mimo vaši organizaci bez ohledu na to, jestli tito uživatelé používají Databricks, nebo ne. Delta Sharing je také základem pro Databricks Marketplace, otevřené fórum pro výměnu datových produktů a Clean Rooms, zabezpečené prostředí a ochrana osobních údajů where více stran může spolupracovat na citlivých podnikových datech.

Rozdílové sdílení je také k dispozici jako opensourcový projekt, který můžete použít ke sdílení tables Delta z jiných platforem.

Poznámka:

Informace o tom, jak získat přístup k datům sdíleným s vámi pomocí Delta Sharing, najdete v tématu Přístup k datům sdíleným s vámi (pro recipients).

Jak funguje rozdílové sdílení?

Delta Sharing je otevřený protokol vyvinutý Službou Databricks pro zabezpečené sdílení dat s jinými organizacemi bez ohledu na výpočetní platformy, které používají.

Data můžete sdílet třemi způsoby pomocí rozdílového sdílení:

  1. Protokol sdílení Databricks-to-Databricks, který umožňuje sdílet data a prostředky AI z pracovního prostoru s Unity Cataloguživatelům, kteří mají také přístup k pracovnímu prostoru Databricks s Unity Catalog.

    Tento přístup používá server pro rozdílové sdílení, který je integrovaný do Azure Databricks. Podporuje některé funkce Delta sdílení, které nejsou podporovány v jiných protokolech, včetně sdílení poznámkových bloků, sdílení objemu Unity Catalog, sdílení modelů umělé inteligence Unity Catalog, správy dat Unity Catalog, auditu a sledování využití pro providers i recipients. Integrace s Unity Catalog zjednodušuje nastavení a zásady správného řízení pro providers i recipients a zlepšuje výkon.

    Viz Sdílení dat pomocí protokolu Delta Sharing Databricks-to-Databricks (pro providers).

  2. Otevřený protokol sdílení Databricks, který umožňuje sdílet tabulková data spravovaná vámi v pracovním prostoru Databricks s podporou Unity Catalogs uživateli na libovolné výpočetní platformě.

    Tento přístup používá server Delta Sharing, který je integrovaný do Azure Databricks, a je užitečný při správě dat pomocí Unity Catalog a chcete ho sdílet s uživateli, kteří Databricks nepoužívají nebo nemají přístup k pracovnímu prostoru Databricks s podporou Unity Catalog. Integrace s Unity Catalog na straně poskytovatele zjednodušuje nastavení a správu pro providers.

    Viz Sdílení dat pomocí protokolu Delta Sharing open sharing (pro providers).

  3. Implementace open source serveru Delta Sharing spravovaná zákazníkem, která umožňuje sdílení z libovolné platformy na libovolnou platformu, ať už databricks, nebo ne.

    Dokumentace k Azure Databricks nepokrývá pokyny pro nastavení vlastního serveru pro sdílení delta. Viz github.com/delta-io/delta-sharing.

architektura přístupu k datům pro Delta Sharing.

Shares, providersa recipients

Primární koncepty, které jsou základem Delta Sharing v Azure Databricks, jsou shares, providersa recipients.

Co je sdílená složka?

V rozdílovém sdílení je sdílená kolekce tables jen pro čtení a table oddílů, které chce poskytovatel sdílet s jedním nebo více recipients. Pokud váš příjemce používá pracovní prostor Databricks s podporou Unity Catalog, můžete do sdílené složky zahrnout také soubory poznámkových bloků, views (včetně dynamických views, které omezují přístup na úrovni řádku a column), Unity Catalogvolumesa Model Unity Catalog.

Kdykoli můžete přidat nebo removetables, views, volumes, modely a soubory poznámkových bloků ze sdílené složky a kdykoli přiřadit nebo revoke přístup příjemce dat ke sdílené složce.

V pracovišti Azure Databricks s podporou Unity Catalogje sdílení zabezpečitelným objektem zaregistrovaným v Unity Catalog. Pokud remove sdílenou složku z metastoru Unity Catalog, ztratí všechna recipients této sdílené složky možnost přístupu.

Viz Vytvoření a správa shares pro Delta Sharing.

Co je poskytovatel?

Poskytovatel je entita, která shares data s příjemcem. Pokud jste poskytovatelem a chcete využít integrovaného serveru pro sdílení Databricks Delta a spravovat shares a recipients pomocí CatalogUnity , potřebujete alespoň jeden pracovní prostor Azure Databricks, který je povolený pro Unity Catalog. Není nutné migrovat všechny existující pracovní prostory do Unity Catalog. Pro potřeby Delta Sharing můžete jednoduše vytvořit nový pracovní prostor s podporou Unity Catalog.

Pokud je příjemce v pracovním prostoru Databricks s Unity Catalog, poskytovatel je také zabezpečitelným objektem Unity Catalog, který představuje organizaci poskytovatele a přidruží tuto organizaci k setshares.

Co je to příjemce?

příjemce je entita, která přijímá shares od poskytovatele. V rámci Unity Catalogje sdílení zabezpečitelný objekt, který představuje organizaci a přidruží ji k přihlašovacím údajům nebo zabezpečenému sdílení identifier, což organizaci umožňuje přístup k jednomu nebo více shares.

Jako poskytovatel dat můžete definovat více recipients pro jakýkoli Unity Catalog metastore, ale pokud chcete sdílet data z více metastores s konkrétním uživatelem nebo skupinou uživatelů, musíte příjemce definovat samostatně pro každý metastore. Příjemce může mít přístup k více shares.

Pokud poskytovatel odstraní příjemce ze svého metastoru Unity Catalog, tento příjemce ztratí přístup ke všem shares, k nimž mohl dříve přistupovat.

Viz Vytvořte a spravujte data recipients pro Delta Sharing.

Otevření sdílení versus sdílení Databricks-to-Databricks

Tato část popisuje dva protokoly pro sdílení z pracovního prostoru Databricks, který je povolený pro Unity Catalog.

Poznámka:

V této části se předpokládá, že poskytovatel je v pracovním prostoru Azure Databricks s podporou Unity Catalog. Informace o nastavení open-source serveru pro Delta Sharing z platformy jiné než Databricks nebo ne-Unity Catalog pracovního prostoru najdete v tématu github.com/delta-io/delta-sharing.

Způsob, jakým poskytovatel používá rozdílové sdílení v Azure Databricks, závisí na tom, s kým data sdílí:

  • Otevřené sdílení vám umožňuje sdílet data s libovolným uživatelem bez ohledu na to, jestli má přístup ke službě Azure Databricks.
  • sdílení Databricks-to-Databricks umožňuje sdílet data s uživateli Azure Databricks, jejichž pracovní prostor je připojený k metastoru Unity Catalog, který se liší od vašeho. Databricks-to-Databricks také podporuje sdílení poznámkových bloků, svazků a modelů, které nejsou dostupné při otevřeném sdílení.

Co je otevřené Delta Sharing?

Pokud chcete sdílet data s uživateli mimo pracovní prostor Azure Databricks bez ohledu na to, jestli data používají, můžete data bezpečně sdílet pomocí funkce Delta Sharing. Jako poskytovatel dat vytvoříte token generate a bezpečně ho sdílíte s příjemcem. Používají token k ověření a get čtení přístupu k tables, který jste zahrnuli do shares a ke kterému jste jim poskytli přístup.

Recipients mají přístup ke sdíleným datům pomocí mnoha výpočetních nástrojů a platforem, mezi které patří:

  • Azure Databricks
  • Apache Spark
  • Pandy
  • Power BI

Úplný přehled list konektorů Delta Sharing a informace o tom, jak je používat, naleznete v dokumentaci Delta Sharing .

Viz také Sdílení dat pomocí protokolu Delta Sharing open sharing (pro providers).

Co je sdílení Databricks-to-Databricks Delta?

Pokud chcete sdílet data s uživateli, kteří mají pracovní prostor Databricks, který má povolené pro Unity Catalog, můžete použít sdílení Databricks-to-Databricks Delta. Sdílení Databricks-to-Databricks umožňuje sdílet data s uživateli v jiných účtech Databricks, ať už jsou v AWS, Azure nebo GCP. Je to také skvělý způsob, jak bezpečně sdílet data napříč různými Catalogmetastores Unity ve vašem vlastním účtu Databricks. Všimněte si, že pro sdílení dat mezi pracovními prostory připojenými ke stejnému metastoru Catalog Unity není potřeba používat funkci Delta Sharing, protože v tomto scénáři můžete použít Unity Catalog ke správě přístupu k datům napříč pracovními prostory.

Jednou z výhod sdílení Databricks-to-Databricks je, že příjemce sdílené složky nepotřebuje token pro přístup ke sdílené složce a poskytovatel nemusí spravovat tokeny příjemců. Zabezpečení připojení ke sdílení, včetně veškerého ověřování identity, ověřování a auditování, se spravuje výhradně prostřednictvím rozdílového sdílení a platformy Databricks. Další výhodou je možnost sdílet soubory poznámkových bloků Databricks, views, Unity Catalogvolumesa modely Catalog Unity.

Viz také Sdílení dat pomocí protokolu Delta Sharing Databricks-to-Databricks (pro providers).

Jak správci poskytovatelů set rozdílové sdílení?

Tato část poskytuje přehled o tom, jak může providers povolit Delta Sharing a zahájit sdílení z pracovního prostoru Azure Databricks s funkcionalitou Unity Catalog. Opensourcové rozdílové sdílení najdete v tématu github.com/delta-io/delta-sharing.

Sdílení Databricks na Databricks mezi instancemi Unity Catalogametastores ve stejném účtu je vždy aktivováno. Pokud jste poskytovatel, který chce povolit sdílení dat s pracovními prostory Databricks v jiných účtech nebo jiných klientech než Databricks, správce účtu Azure Databricks nebo správce metastoru provede následující kroky nastavení (na vysoké úrovni):

  1. Povolte Delta Sharing pro metastore Unity Catalog, který spravuje data, jež chcete sdílet.

    Poznámka:

    Pokud máte v úmyslu používat Delta Sharing ke sdílení dat jenom s uživateli na jiných Unity Catalogmetastores ve vašem účtu, nemusíte povolovat Delta Sharing v metastoru. Sdílení Metastore-to-metastore v rámci jednoho účtu služby Azure Databricks je ve výchozím nastavení povolené.

    Viz Povolení sdílení Delta v metastoru.

  2. Vytvořte sdílení, které obsahuje datové prostředky zaregistrované v metastore Unity Catalog.

    Pokud sdílíte s příjemcem, který není uživatelem Databricks (známé jako otevřené sdílení), můžete zahrnout tables ve formátu Delta nebo Parquet. Pokud plánujete použít sdílení Databricks-to-Databricks, můžete také přidat do sdílení views, modely Unity Catalogvolumes, Unity Catalog a soubory poznámkových bloků.

    Viz Vytvoření a správa shares pro Delta Sharing.

  3. Vytvořte příjemce.

    Viz Vytvoření a správa recipients dat prorozdílového sdílení .

    Pokud váš příjemce není uživatelem Databricks nebo nemá přístup k pracovnímu prostoru Databricks, který je povolený pro CatalogUnity, musíte použít otevřené sdílení. Pro tohoto příjemce se vygeneruje setcredentials založených na tokenu.

    Pokud má váš příjemce přístup k pracovnímu prostoru Databricks, který je povolený pro CatalogUnity, můžete použít sdílení Databricks-to-Databricksa nevyžaduje se žádná credentials založená na tokenech. Požádáte od příjemce o sdílení identifier a použijete ho k navázání zabezpečeného připojení.

    Tip

    Vyzkoušejte si proces nastavení sami sebe jako testovacího příjemce.

  4. Grant je přístup příjemce k jednomu nebo více shares.

    Viz Správa přístupu k Delta Sharing datům shares (pro providers).

    Poznámka:

    Tento krok může provést také uživatel bez oprávnění USE SHAREUSE RECIPIENT správce a SET SHARE PERMISSION oprávnění. Viz oprávnění Unity Catalog a zabezpečované objekty.

  5. Pošlete příjemci informace, které potřebují pro připojení ke sdílené složce (jenom otevřené sdílení).

    Viz Odeslání informací o připojení příjemce.

    Pro otevřené sdílení použijte zabezpečený kanál k odeslání aktivačního odkazu příjemce, který mu umožňuje stáhnout svůj token založený na credentials.

    Pro sdílení Databricks do Databricks se data zahrnutá ve sdílené složce zpřístupní v pracovním prostoru Databricks příjemce, jakmile je grant přístup ke sdílené složce.

Příjemce teď má přístup ke sdíleným datům.

Jak má recipients přístup ke sdíleným datům?

Recipients přistupovat ke sdíleným datovým prostředkům ve formátu pouze pro čtení. Sdílené soubory poznámkového bloku jsou jen pro čtení, ale dají se naklonovat a pak upravit a spustit v pracovním prostoru příjemce stejně jako jakýkoli jiný poznámkový blok.

Zabezpečený přístup závisí na modelu sdílení:

Kdykoli poskytovatel dat aktualizuje data tables nebo volumes ve svém vlastním účtu Databricks, aktualizace se zobrazí téměř v reálném čase v systému příjemce.

Jak sledujete, kdo sdílí sdílená data a přistupuje k němu?

Data providers na pracovních prostorech Azure Databricks s podporou Unity Catalogmůžou využívat protokolování auditu a systém tables Azure Databricks k monitorování vytváření a úprav shares a recipientsa sledování aktivit příjemců na shares. Viz Audit a monitorování sdílení dat.

Data recipients, kteří používají sdílená data v pracovním prostoru Databricks, můžou pomocí protokolování auditu Databricks a systémových tables zjistit, kdo k jakým datům přistupuje. Viz Audit a monitorování sdílení dat.

Sdílení volumes

volumes můžete sdílet pomocí toku sdílení Databricks do Databricks. Viz přidání volumes do sdílené složky (pro providers) a čtení dat sdílených pomocí Databricks-to-Databricks Delta Sharing (pro recipients) (pro recipients).

Sdílení modelů

Modely můžete sdílet pomocí toku sdílení Databricks do Databricks. Viz Přidat modely ke sdílení (pro providers) a Číst data sdílená pomocí Databricks-to-Databricks Delta Sharing (pro recipients) (pro recipients).

Sdílení poznámkových bloků

Pomocí rozdílového sdílení můžete sdílet soubory poznámkových bloků pomocí toku sdílení Databricks do Databricks. Viz Přidání souborů poznámkového bloku do sdílené složky (pro providers) a Čtení sdílených poznámkových bloků (pro recipients).

Omezení přístupu na úrovni řádku a na úrovni column

Můžete sdílet dynamické views, které omezují přístup k určitým table datům na základě vlastností příjemce. Dynamické sdílení zobrazení vyžaduje tok sdílení Databricks do Databricks. Podívejte se na Přidejte dynamický views ke sdílení pro filtrování řádků a columns.

Rozdílové sdílení a streamování

Rozdílové sdílení podporuje strukturované streamování Sparku. Poskytovatel může sdílet table s historií, aby ho příjemce mohl používat jako zdroj strukturovaného streamování a zpracovávat sdílená data přírůstkově s nízkou latencí. Recipients také můžou provádět dotazy na časové cesty Delta Lake na tables sdílené s historií.

Informace o tom, jak sdílet tables s historií, najdete v části Přidání tables do sdíleného. Informace o použití sdílených tables jako zdrojů streamování najdete v tématu Dotazování table pomocí strukturovaného streamování Apache Sparku (pro recipients sdílení Databricks do Databricks) nebo Přístup ke sdílenému table pomocí strukturovaného streamování Sparku (pro recipients otevřených dat sdílení).

Viz také streamování v Azure Databricks.

Matice podpory funkcí Delta Lake

Delta Sharing podporuje většinu funkcí Delta Lake při sdílení table. Tato matice podpory obsahuje následující seznamy:

  • Funkce Delta, které vyžadují konkrétní verze Databricks Runtime, opensourcový konektor Delta Sharing Spark nebo opensourcový konektor Delta Sharing Python.
  • Částečně podporované funkce.
Funkce Poskytovatel Příjemce Databricks Open source příjemce
Vektory odstranění Sdílení tables s touto funkcí je ve verzi Public Preview. – Databricks Runtime 14.1 nebo novější pro dávkové dotazy
– Databricks Runtime 14.2 nebo novější pro dotazy CDF a streamování
– Rozdílové sdílení konektoru Spark 3.1 nebo novější
– Delta Sharing Python Connector 1.1.0+
– Power BI v2.132.908.0+
mapování Column Sdílení tables s touto funkcí je ve verzi Public Preview. – Databricks Runtime 14.1 nebo novější pro dávkové dotazy
– Databricks Runtime 14.2 nebo novější pro dotazy CDF a streamování
– Rozdílové sdílení konektoru Spark 3.1 nebo novější
– Delta Sharing Python Connector 1.1.0+
– Power BI v2.132.908.0+
Jednotný formát Sdílení tables s touto funkcí je ve verzi Public Preview. – Databricks Runtime 14.1 nebo novější pro dávkové dotazy
– Databricks Runtime 14.2 nebo novější pro dotazy CDF a streamování
– Rozdílové sdílení konektoru Spark 3.1 nebo novější
– Delta Sharing Python Connector 1.1.0+
– Power BI v2.132.908.0+
Kontrolní bod V2 Podporováno s omezeními Podporováno s omezeními Podporováno s omezeními
Časové razítkoNTZ Podporováno Databricks Runtime 14.1 nebo novější Konektor Delta Sharing Spark 3.3 nebo novější
Clustering Liquid Podporováno s omezeními Podporováno s omezeními Podporováno s omezeními

Nejčastější dotazy ke sdílení Delta

Toto jsou nejčastější dotazy týkající se rozdílového sdílení.

Potřebuji k používání Delta Sharingu Catalog Unity?

Ne, nepotřebujete unity Catalog ke sdílení (jako poskytovatel) ani ke využívání sdílených dat (jako příjemce). Unity Catalog ale poskytuje výhody, jako je podpora sdílení netabulárních prostředků a prostředků AI, integrované řízení, jednoduchost a výkon dotazování.

Providers může sdílet data dvěma způsoby:

  • Prostředky, které se mají sdílet, umístěte pod správu Unity Catalog a sdílejte je pomocí integrovaného serveru pro sdílení Delta Azure Databricks.

    Není nutné migrovat všechny prostředky do Unity Catalog. Ke správě prostředků, které chcete sdílet, potřebujete jenom jeden pracovní prostor Azure Databricks, který je povolený pro Unity Catalog. V některých účtech jsou nové pracovní prostory povolené pro Unity Catalog automaticky. Viz Automatické aktivování Unity Catalog.

  • Implementujte otevřený server Delta Sharing pro sdílení dat, aniž byste museli používat váš účet Azure Databricks.

Recipients může využívat data dvěma způsoby:

  • Bez pracovního prostoru Databricks. Použijte opensourcové konektory Delta Sharing, které jsou k dispozici pro mnoho datových platforem, včetně Power BI, pandas a open source Apache Spark. Viz Čtení dat sdílených pomocí Delta Sharing open sharing (pro recipients) a open source projektu Delta Sharing .

  • V pracovním prostoru Databricks. Pracovní prostory příjemců nemusí být povoleny pro Unity Catalog, ale pokud ano, přinášejí výhody v oblasti správy, jednoduchosti a výkonu.

    Přijímající organizace, které chtějí tyto výhody, nemusí migrovat veškerý majetek do Unity Catalog. Ke správě prostředků, které s vámi sdílíte, potřebujete jenom jeden pracovní prostor Azure Databricks, který je povolený pro Unity Catalog. V některých účtech jsou nové pracovní prostory povolené pro Unity Catalog automaticky. Viz Automatické povolení funkce Unity Catalog.

Viz Čtení dat sdílených pomocí otevřeného Delta sdílení (pro recipients) a Čtení dat sdílených pomocí sdílení Databricks-to-Databricks Delta (pro recipients).

Musím být zákazníkem Databricks, aby bylo možné používat funkci Delta Sharing?

Ne, Delta Sharing je otevřený protokol. Data, která nejsou data Databricks, můžete sdílet s recipients na libovolné datové platformě. Providers může nakonfigurovat otevřený server Delta Sharing pro sdílení z jakékoliv výpočetní platformy. Recipients může využívat sdílená data pomocí opensourcových konektorů delta sharing pro mnoho datových produktů, včetně Power BI, pandas a open source Sparku.

Použití Delta Sharing v Azure Databricks, zvláště sdílení z pracovního prostoru s podporou Unity Catalog, má však mnoho výhod.

Podrobnosti najdete v první otázce v tomto nejčastějším dotazu.

Vznikají používáním funkce Delta Sharing náklady na výchozí přenos dat?

Používáním funkce Delta Sharing v rámci oblasti nevznikají žádné náklady na výchozí přenos datí náklady. Sdílení Delta Sharing, na rozdíl od jiných platforem sdílení dat, nevyžaduje replikaci dat. Tento model má mnoho výhod, ale znamená to, že dodavatel cloudu může účtovat poplatky za výchozí přenos dat při sdílení dat mezi cloudy nebo oblastmi. Azure Databricks podporuje sdílení z Cloudflare R2, které neúčtují žádné poplatky za výchozí přenos dat, a poskytuje další nástroje a doporučení pro monitorování a zabránění poplatkům za výchozí přenos dat. Viz Monitorujte a spravujte náklady na odchozí přenos dat Delta sdílení (pro providers).

Má příjemce přístup k providersrevoke?

Ano, přístup příjemce může být odvolán na vyžádání a na zadaných úrovních podrobností. Můžete deny přístup příjemce ke konkrétním shares a konkrétním IP adresám, filtrovat tabulková data pro příjemce, revoke tokeny příjemců a zcela odstranit recipients. Podívejte se na Revoke přístup příjemců ke sdílené složce a vytvoření a správu dat recipients pro Delta Sharing.

Není nezabezpečené používat předem podepsané adresy URL?

Delta Sharing používá předem podepsané adresy URL k poskytování dočasného přístupu k souboru v úložišti objektů. Jsou uděleny pouze těm recipients, které již mají přístup ke sdíleným datům. Jsou zabezpečené, protože jsou krátkodobé a nezvětšují úroveň přístupu nad rámec toho, co recipients již bylo uděleno.

Jsou tokeny používané v protokolu pro otevřené sdílení Delta Sharing zabezpečené?

Protože Delta Sharing umožňuje sdílení mezi platformami – na rozdíl od jiných dostupných platforem pro sdílení dat – protokol sdílení vyžaduje otevřený token. Providers může zajistit zabezpečení tokenů konfigurací doby života tokenu, nastavením síťových ovládacích prvků a odvoláním přístupu na vyžádání. Kromě toho token nezvětší úroveň přístupu nad rámec toho, co recipients již bylo uděleno. Viz Aspekty zabezpečení pro tokeny.

Pokud nechcete používat tokeny ke správě přístupu k příjemci shares, měli byste použít sdílení mezi Databricks účty nebo kontaktovat tým účtu Databricks ohledně alternativ.

Podporuje rozdílové sdílení sdílení sdílení zobrazení?

Ano, Rozdílové sdílení podporuje sdílení zobrazení. Podívejte se na Přidejte views ke sdílení.

Pokud se chcete dozvědět o plánovaných vylepšeních sdílení, obraťte se na tým účtu Databricks.

Omezení

Viz také matice podpory funkcí Delta Lake.

Kvóty prostředků

Azure Databricks vynucuje kvóty prostředků pro všechny zabezpečitelné objekty Delta Sharing. Tyto kvóty jsou uvedené v omezeních prostředků. Pokud očekáváte překročení těchto limitů prostředků, obraťte se na svůj tým účtů Azure Databricks.

Využití kvóty můžete monitorovat pomocí rozhraní API pro kvóty prostředků Unity Catalog. Viz Monitorování využití kvót prostředků Unity Catalog.

Další kroky