Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na tej stronie przedstawiono udostępnianie funkcji delta w Azure Databricks, bezpieczną platformę udostępniania danych, która umożliwia udostępnianie danych i zasobów sztucznej inteligencji w Azure Databricks użytkownikom spoza organizacji, niezależnie od tego, czy używają Azure Databricks. Delta Sharing jest również podstawą witryny Databricks Marketplace, otwartego forum do wymiany produktów danych i Clean Rooms, bezpiecznego i chroniącego prywatność środowiska, w którym wiele stron może współpracować nad poufnymi danymi przedsiębiorstwa.
Delta Sharing jest również dostępne jako projekt typu open source, którego można użyć do udostępniania Tabel Delta z innych platform.
Jak działa Delta Sharing?
Usługa Delta Sharing to otwarty protokół opracowany przez usługę Databricks na potrzeby bezpiecznego udostępniania danych innym organizacjom niezależnie od używanych platform obliczeniowych.
Istnieje kilka sposobów udostępniania danych przy użyciu Delta Sharing:
Protokół Databricks-to-Databricks, który umożliwia udostępnianie danych i zasobów AI z obszaru roboczego obsługiwanego przez Unity Catalog użytkownikom, posiadającym również dostęp do środowiska Databricks z obsługą Unity Catalog.
To podejście korzysta z serwera Delta Sharing, który jest wbudowany w Azure Databricks. Obsługuje niektóre funkcje udostępniania Delta, które nie są obsługiwane w innych protokołach, w tym udostępnianie notesów, udostępnianie woluminów Unity Catalog, udostępnianie modelu AI Unity Catalog, zarządzanie danymi w Unity Catalog, a także inspekcja i śledzenie użycia zarówno dla dostawców, jak i adresatów. Integracja z Unity Catalog upraszcza konfigurowanie i zarządzanie zarówno dla dostawców, jak i odbiorców oraz poprawia wydajność.
Zobacz Udostępnianie danych przy użyciu protokołu Delta Sharing Databricks-to-Databricks (dla dostawców).
Otwarty protokół udostępniania usługi Databricks, który umożliwia udostępnianie danych tabelarycznych, którymi zarządzasz w obszarze roboczym Databricks z włączonym Unity Catalog, użytkownikom na dowolnej platformie obliczeniowej.
To podejście wykorzystuje serwer Delta Sharing wbudowany w Azure Databricks i jest przydatne, gdy zarządzasz danymi za pomocą Unity Catalog i chcesz udostępnić je użytkownikom, którzy nie korzystają z Databricks lub nie mają dostępu do obszaru roboczego Databricks z włączonym Unity Catalog. Integracja z Unity Catalog po stronie dostawcy upraszcza konfigurację i zarządzanie dla dostawców.
Zobacz Protokoł Delta Sharing do otwartego udostępniania danych (dla dostawców).
Implementacja zarządzana przez klienta serwera Delta Sharing typu open source, która umożliwia udostępnianie z dowolnej platformy na dowolną platformę, niezależnie od tego, czy jest to Databricks, czy nie.
Dokumentacja Azure Databricks nie zawiera instrukcji dotyczących konfigurowania własnego serwera Delta Sharing. Zobacz github.com/delta-io/delta-sharing.
Łącznik SAP Business Data Cloud (BDC) dla Azure Databricks, który umożliwia udostępnianie danych między obszarem roboczym obsługiwanym przez Unity Catalog a kontem usługi SAP BDC.
Podejście to wykorzystuje łącznik SAP BDC, który używa funkcjonalności Delta Sharing dla dostępu na żywo, bez kopiowania do produktów danych SAP BDC.
Zasoby, dostawcy i odbiorcy
Podstawowe pojęcia dotyczące Delta Sharing w Azure Databricks to shares, providers i recipients.
Co to jest udział?
W systemie Delta Sharing, udostępniony zasób jest kolekcją tabel i partycji tabel tylko do odczytu, którą dostawca chce udostępnić jednemu lub większej liczbie odbiorców. Jeśli odbiorca korzysta z obszaru roboczego usługi Databricks z włączoną obsługą Unity Catalog, możesz również dołączyć pliki notesu, widoki (w tym widoki dynamiczne ograniczające dostęp na poziomie wiersza i kolumny), woluminy Unity Catalog i modele Unity Catalog w ramach udostępniania.
W dowolnym momencie można dodawać lub usuwać tabele, tabele przesyłania strumieniowego, zarządzane tabele Iceberg, widoki, zmaterializowane widoki, woluminy, modele i pliki notesów z udziału, a także przypisywać lub odwoływać dostęp dla odbiorców danych do udziału w dowolnym momencie.
W obszarze roboczym Azure Databricks z obsługą Unity Catalog, udział jest zabezpieczanym obiektem zarejestrowanym w Unity Catalog. Jeśli usuniesz udostępnienie z metasklepu Unity Catalog, wszyscy jego odbiorcy utracą możliwość dostępu do niego.
Zobacz Tworzenie i zarządzanie udziałami dla Delta Sharing.
Co to jest dostawca?
Dostawca to jednostka, która udostępnia dane adresatowi. Jeśli jesteś dostawcą i chcesz korzystać z wbudowanego serwera Databricks Delta Sharing oraz zarządzać udziałami i adresatami przy użyciu Unity Catalog, potrzebujesz co najmniej jednego obszaru roboczego Azure Databricks, który jest włączony do Unity Catalog. Nie trzeba migrować wszystkich istniejących obszarów roboczych do Unity Catalogu. Możesz po prostu utworzyć nowy obszar roboczy z obsługą Unity Catalog dla potrzeb Delta Sharing.
Jeśli adresat znajduje się w obszarze roboczym usługi Databricks z obsługą Unity Catalog, dostawca jest również obiektem podlegającym zabezpieczeniu Unity Catalog, który reprezentuje organizację dostawcy i kojarzy tę organizację z zestawem udziałów.
Kim jest odbiorca?
Odbiorca to jednostka, która odbiera udziały od dostawcy. W Unity Catalogu, udział jest zabezpieczanym obiektem, który reprezentuje organizację i kojarzy ją z poświadczeniem lub bezpiecznym identyfikatorem udostępniania, umożliwiającym tej organizacji dostęp do jednego lub więcej udziałów.
Jako dostawca danych (udzielający dostępu), można zdefiniować wielu adresatów dla dowolnego magazynu metadanych Unity Catalog, ale jeśli chcesz udostępniać dane z wielu magazynów metadanych określonemu użytkownikowi lub grupie, musisz zdefiniować adresata oddzielnie dla każdego magazynu metadanych. Odbiorca może mieć dostęp do wielu udziałów.
Jeśli dostawca usunie adresata z metastore'u katalogu Unity, odbiorca utraci dostęp do wszystkich udziałów, do których wcześniej mógł uzyskać dostęp.
Otwarte udostępnianie w porównaniu z udostępnianiem Databricks do Databricks
W tej sekcji opisano dwa protokoły udostępniania z obszaru roboczego usługi Databricks, w którym jest włączony Unity Catalog.
Note
W tej sekcji założono, że dostawca znajduje się w obszarze roboczym Azure Databricks za pomocą Unity Catalog. Aby dowiedzieć się więcej na temat konfigurowania serwera Delta Sharing typu open-source do udostępniania z platformy innej niż Databricks lub obszaru roboczego nienależącego do Unity Catalog, zobacz github.com/delta-io/delta-sharing.
Sposób, w jaki dostawca korzysta z Delta Sharing w Azure Databricks, zależy od tego, komu udostępnia dane:
- Otwarte udostępnianie umożliwia udostępnianie danych dowolnemu użytkownikowi, niezależnie od tego, czy ma dostęp do Azure Databricks.
- Databricks-to-Databricks sharing umożliwia udostępnianie danych użytkownikom Azure Databricks, których obszar roboczy jest dołączony do magazynu metadanych Unity Catalog, różnego od Twojego. Usługa Databricks-to-Databricks obsługuje również udostępnianie notesów, woluminów i modeli, co nie jest dostępne w udostępnianiu otwartym.
Co to jest otwarte Delta Sharing?
Jeśli chcesz udostępniać dane użytkownikom spoza obszaru roboczego Azure Databricks, niezależnie od tego, czy korzystają z usługi Databricks, możesz bezpiecznie współdzielić swoje dane, używając funkcji open Delta Sharing. Jako dostawca danych zarządzasz uwierzytelnianiem za pomocą adresata udostępniania przy użyciu jednej z następujących metod:
- Generujesz długoterminowy token uwierzytelniający i bezpiecznie udostępniasz go odbiorcy. Używają tokenu do uwierzytelniania i uzyskiwania dostępu do odczytu do tabel uwzględnionych w udziałach, do których udzielono im dostępu.
- Używasz federacji Open ID Connect (OIDC), przekazując krótkotrwałe tokeny OAuth usługi Databricks odbiorcy w zamian za tokeny JWT, które dostawca tożsamości odbiorcy przesyła do usługi Databricks.
Adresaci mogą uzyskiwać dostęp do udostępnionych danych przy użyciu wielu narzędzi obliczeniowych i platform, w tym:
- Azure Databricks
- Apache Spark
- Pandas
- Power BI
Pełną listę łączników Delta Sharing oraz informacje o sposobie ich użycia można znaleźć w dokumentacji.
Zobacz też Udostępnianie danych przy użyciu otwartego protokołu Delta Sharing (dla dostawców).
Czym jest Databricks-to-Databricks Delta Sharing?
Jeśli chcesz udostępnić dane użytkownikom, którzy mają obszar roboczy Databricks z włączoną funkcją Unity Catalog, możesz użyć Databricks-to-Databricks Delta Sharing. Udostępnianie usługi Databricks-to-Databricks umożliwia udostępnianie danych użytkownikom na innych kontach usługi Databricks, niezależnie od tego, czy znajdują się one na platformie AWS, Azure, czy GCP. Jest to również doskonały sposób bezpiecznego udostępniania danych w różnych metastorach Unity Catalog na własnym koncie Databricks. Należy pamiętać, że nie ma potrzeby używania Delta Sharing do udostępniania danych między obszarami roboczymi dołączonymi do tego samego metastore katalogu Unity, ponieważ w tym scenariuszu można użyć samego katalogu Unity do zarządzania dostępem do danych w obrębie obszarów roboczych.
Jedną z zalet udostępniania usługi Databricks-to-Databricks jest to, że odbiorca udziału nie potrzebuje tokenu dostępu do udziału, a dostawca nie musi zarządzać tokenami adresatów. Zabezpieczenie połączenia udostępniania — w tym wszystkie weryfikacje tożsamości, uwierzytelnianie i audyt — jest zarządzane całkowicie za pośrednictwem funkcji Delta Sharing i platformy Databricks. Kolejną zaletą jest możliwość udostępniania plików notesów Databricks, woluminów Unity Catalog i modeli Unity Catalog.
Zobacz również Udostępnianie danych przy użyciu protokołu Delta Sharing Databricks-to-Databricks (dla dostawców).
Jak administratorzy usługodawców ustawiają Delta Sharing?
Ta sekcja zawiera omówienie sposobu, w jaki dostawcy mogą włączyć Delta Sharing i zainicjować udostępnianie z poziomu obszaru roboczego Azure Databricks z obsługą Unity Catalog. Aby uzyskać informacje na temat open-source Delta Sharing, zobacz github.com/delta-io/delta-sharing.
Udostępnianie Databricks-do-Databricks między magazynami metadanych Unity Catalog w tym samym koncie jest zawsze włączone. Jeśli jesteś dostawcą, który chce włączyć udostępnianie delty w celu udostępniania danych w obszarach roboczych usługi Databricks na innych kontach lub klientach spoza usługi Databricks, administrator konta Azure Databricks lub administrator magazynu metadanych wykonuje następujące kroki konfiguracji (na wysokim poziomie):
Włącz funkcję Delta Sharing dla magazynu metadanych Unity Catalog, który zarządza danymi, jakie chcesz współdzielić.
Note
Nie musisz włączać funkcji Delta Sharing w swoim magazynie metadanych, jeśli zamierzasz używać Delta Sharing do udostępniania danych wyłącznie użytkownikom innych magazynów metadanych Unity Catalog na swoim koncie. Udostępnianie między magazynami metadanych w ramach jednego konta Azure Databricks jest domyślnie włączone.
Zobacz Włączanie udostępniania różnicowego w magazynie metadanych.
Utwórz zasób współdzielony, który zawiera zasoby danych zarejestrowane w metastore Unity Catalog.
Jeśli udostępniasz adresatom spoza usługi Databricks (nazywane otwartym udostępnianiem), możesz dołączyć tabele w formacie Delta. Jeśli planujesz używać udostępniania usługi Databricks do usługi Databricks, możesz również dodawać widoki, wolumeny katalogu Unity, modele katalogu Unity i pliki notatnika do udostępniania.
Utwórz adresata.
Jeśli adresat nie jest użytkownikiem usługi Databricks lub nie ma dostępu do obszaru roboczego usługi Databricks, który ma włączony Unity Catalog, musisz użyć otwartego udostępniania. Możesz wygenerować poświadczenia oparte na tokenie nosiciela dla tego adresata lub użyć federacji OIDC.
Jeśli odbiorca ma dostęp do obszaru roboczego Databricks z włączonym Unity Catalog, możesz użyć funkcji udostępniania Databricks i nie są wymagane poświadczenia oparte na tokenach. Zażądasz identyfikatora udostępniania od adresata i użyjesz go do nawiązania bezpiecznego połączenia.
Tip
Użyj siebie jako adresata testowego, aby wypróbować proces instalacji.
Udziel odbiorcy dostępu do co najmniej jednego udziału.
Zobacz Zarządzanie dostępem do udziałów danych usługi Delta Sharing (dla dostawców).
Note
Ten krok można również wykonać przez użytkownika niebędącego administratorem z uprawnieniami
USE SHAREUSE RECIPIENTiSET SHARE PERMISSION. Zobacz odniesienie dotyczące uprawnień Unity Catalog.Wyślij adresatowi informacje potrzebne do połączenia się z zasobem (tylko w przypadku otwartego udostępniania).
Aby otworzyć udostępnianie przy użyciu tokenów dostępu, użyj bezpiecznego kanału, aby wysłać odbiorcy link aktywacyjny, który umożliwia pobranie poświadczeń opartych na tokenach. Zobacz Wyślij odbiorcy informacje o połączeniu.
Aby otworzyć udostępnianie przy użyciu federacji tokenów OIDC, wyślij wygenerowany adres URL portalu. Zobacz Użycie federacji OpenID Connect (OIDC), aby włączyć uwierzytelnianie w udziałach Delta Sharing (otwarte udostępnianie).
W przypadku współdzielenia danych Databricks-to-Databricks, dane zawarte we współdzielonym zasobie staną się dostępne w obszarze roboczym Databricks odbiorcy, jak tylko przyznasz im uprawnienia do tej współdzielonej usługi.
Odbiorca może teraz uzyskiwać dostęp do udostępnionych danych.
Jak adresaci uzyskują dostęp do udostępnionych danych?
Adresaci uzyskują dostęp do udostępnionych zasobów danych w formacie tylko do odczytu. Udostępnione pliki notesu są tylko do odczytu, ale można je sklonować, a następnie zmodyfikować i uruchomić w obszarze roboczym adresata tak samo jak w przypadku każdego innego notesu.
Bezpieczny dostęp zależy od modelu udostępniania:
Udostępnianie otwarte (adresat nie ma włączonego obszaru roboczego Databricks z włączonym Unity Catalog) ma dwie opcje:
- W przepływie tokenu dostępowego, odbiorca udostępnia poświadczenia za każdym razem, gdy uzyskuje dostęp do danych w wybranym narzędziu, takich jak Apache Spark, pandas, Power BI, Databricks i inne. Zobacz Odczyt danych udostępnianych za pomocą Delta Sharing przy użyciu tokenów nosiciela (dla odbiorców).
- W przepływie federacyjnym tokenów OIDC odbiorca lub jego klient uzyskuje dostęp do danych przy użyciu własnego dostawcy tożsamości. Zobacz Otrzymywanie udziałów Delta Sharing przy użyciu federacji Open ID Connect (OIDC) w przepływie typu użytkownik-maszyna (udostępnianie otwarte) i Otrzymywanie udziałów Delta Sharing przy użyciu klienta Python i federacji Open ID Connect (OIDC) w przepływie typu maszyna-maszyna (udostępnianie otwarte).
Databricks-to-Databricks (obszar roboczy odbiorcy jest włączony dla katalogu Unity): odbiorca uzyskuje dostęp do danych przy użyciu platformy Databricks. Mogą oni używać Unity Catalog do przyznawania i odmawiania dostępu innym użytkownikom na swoim koncie Databricks. Zobacz Odczyt danych udostępnionych w systemie Databricks-to-Databricks Delta Sharing (dla odbiorców).
Za każdym razem, gdy dostawca danych aktualizuje tabele danych lub woluminy na swoim koncie usługi Databricks, aktualizacje są wyświetlane niemal w czasie rzeczywistym w systemie odbiorcy. Aby dowiedzieć się, jak uzyskiwać dostęp do danych, które zostały Ci udostępnione przy użyciu Delta Sharing, zobacz Uzyskiwanie dostępu do danych udostępnianych za pomocą Delta Sharing (dla odbiorców).
Jak śledzić, kto udostępnia i uzyskuje dostęp do udostępnionych danych?
Dostawcy danych w obszarach roboczych Azure Databricks z obsługą katalogu Unity mogą używać rejestrowania inspekcji Azure Databricks i tabel systemowych do monitorowania tworzenia i modyfikowania udziałów i odbiorców oraz monitorować aktywność odbiorców w ramach udziałów. Zobacz Inspekcja i monitorowanie udostępniania danych.
Adresaci danych korzystający z udostępnionych danych w obszarze roboczym usługi Databricks mogą używać rejestrowania inspekcji usługi Databricks i tabel systemowych, aby zrozumieć, kto uzyskuje dostęp do jakich danych. Zobacz Inspekcja i monitorowanie udostępniania danych.
Udostępnianie woluminów
Można udostępniać woluminy przy użyciu przepływu udostępniania Databricks do Databricks. Zobacz Dodawanie woluminów do udziału (dla dostawców) i Odczyt danych udostępnionych przy użyciu Databricks-to-Databricks Delta Sharing (dla adresatów).
Udostępnianie modeli
Modele można udostępniać przy użyciu przepływu udostępniania Databricks do Databricks. Zobacz Dodawanie modeli do współdzielenia (dla dostawców) i Odczyt danych udostępnionych za pomocą funkcji Databricks-to-Databricks Delta Sharing (dla adresatów).
Udostępnianie notesów
Udostępnianie Delta pozwala na udostępnianie plików notatnika przy użyciu Databricks-to-Databricks. Zobacz Dodawanie plików notesu do zasobów współdzielonych (dla dostawców) i Odczyt udostępnionych notesów (dla odbiorców).
Ograniczanie dostępu na poziomie wiersza i kolumny podczas udostępniania widoków
Możesz udostępniać widoki dynamiczne, które ograniczają dostęp do określonych danych tabeli na podstawie właściwości adresata. Zobacz Dodawanie widoków dynamicznych do udziału w celu filtrowania wierszy i kolumn.
Udostępnianie i przesyłanie strumieniowe Delta
Delta Sharing obsługuje strumieniowanie strukturalne w Apache Spark. Dostawca może udostępnić tabelę z historią lub tabelę przesyłania strumieniowego, aby odbiorca mógł ją wykorzystać jako źródło strukturalnego przesyłania strumieniowego, przetwarzając udostępnione dane przyrostowo z małym opóźnieniem. Adresaci mogą również wykonywać zapytania podróży w czasie Delta Lake na tabelach udostępnionych z historią.
Aby dowiedzieć się, jak udostępniać tabele z historią, zobacz Dodawanie tabel do udziału. Aby dowiedzieć się, jak używać tabel udostępnionych jako źródeł przesyłania strumieniowego, zobacz Wykonywanie zapytań w tabeli przy użyciu przesyłania strumieniowego ze strukturą platformy Apache Spark (dla adresatów udostępniania danych usługi Databricks-to-Databricks) lub Uzyskiwanie dostępu do udostępnionej tabeli przy użyciu przesyłania strumieniowego ze strukturą platformy Spark (dla adresatów otwartych danych udostępniania).
Aby dowiedzieć się, jak udostępniać tabele strumieniowe, zobacz Dodawanie tabel strumieniowych do udziału.
Zobacz również Strukturalne przesyłanie strumieniowe.
Macierz obsługi funkcji usługi Delta Lake
Delta Sharing obsługuje większość funkcji Delta Lake podczas udostępniania tabeli. Ta macierz wsparcia wymienia:
- Funkcje Delta, które wymagają określonych wersji środowiska Databricks Runtime, łącznika Delta Sharing Spark typu open source lub łącznika Delta Sharing Python typu open source.
- Funkcje obsługiwane częściowo.
| Feature | Provider | Odbiorca usługi Databricks | Odbiorca open source |
|---|---|---|---|
| Wektory usuwania |
|
|
|
| Mapowanie kolumn |
|
|
|
| Jednolity format |
|
|
|
| Punkt kontrolny V2 | Obsługiwane z ograniczeniami | Obsługiwane z ograniczeniami | Obsługiwane z ograniczeniami |
| TimestampNTZ | Supported | Databricks Runtime 14.1+ | Delta Sharing Spark Łącznik 3.3+ |
| Klastrowanie cieczy | Obsługiwane z ograniczeniami | Obsługiwane z ograniczeniami | Obsługiwane z ograniczeniami |
Delta Sharing (udostępnianie różnicowe) — często zadawane pytania (FAQs)
Poniżej przedstawiono często zadawane pytania dotyczące Delta Sharing.
Czy do korzystania z funkcji Delta Sharing potrzebuję Unity Catalog?
Nie, nie potrzebujesz Unity Catalog, aby udostępniać dane (jako dostawca) ani korzystać z udostępnionych danych (jako odbiorca). Jednak Katalog Unity zapewnia korzyści, takie jak obsługa danych nietabelarycznych i udostępnianie zasobów AI, gotowe do użycia zarządzanie danymi, prostota oraz wydajność zapytań.
Dostawcy mogą udostępniać dane na dwa sposoby:
Umieść zasoby do udostępniania w ramach zarządzania Unity Catalog i udostępnij je przy użyciu wbudowanego serwera Azure Databricks Delta Sharing.
Nie trzeba migrować wszystkich zasobów do Unity Catalog. Do zarządzania zasobami, które chcesz udostępniać, potrzebny jest tylko jeden obszar roboczy Azure Databricks obsługujący Unity Catalog. W niektórych kontach nowe obszary robocze są automatycznie aktywowane dla Unity Catalog. Zobacz Automatyczne włączanie Unity Catalog.
Zaimplementuj serwer udostępniania Delta Sharing, aby udostępniać dane, bez konieczności używania konta Azure Databricks.
Adresaci mogą korzystać z danych na dwa sposoby:
Bez przestrzeni roboczej Databricks. Używaj łączników Delta Sharing typu open source dostępnych dla wielu platform danych, w tym Power BI, pandas i Apache Spark. pl-PL: Zobacz Przeczytaj dane udostępnione przy użyciu Delta Sharing z tokenami nośnika (dla odbiorców) oraz projekt open source Delta Sharing.
W przestrzeni roboczej platformy Databricks. Obszary robocze adresatów nie muszą być włączone do Unity Catalog, ale jeśli są włączone, istnieją zalety w zakresie ładu, prostoty i wydajności.
Organizacje odbiorców, które chcą tych korzyści, nie muszą migrować wszystkich zasobów do Unity Catalog. Aby zarządzać zasobami udostępnionymi Tobie, potrzebny jest tylko jeden workspace Azure Databricks, który jest włączony dla Unity Catalog. W niektórych kontach nowe obszary robocze są automatycznie aktywowane dla Unity Catalog. Zobacz Automatyczne włączanie Unity Catalog.
Zobacz Odczytywanie danych udostępnionych przy użyciu Delta Sharing z użyciem tokenów uwierzytelniających (dla adresatów) i Odczyt danych udostępnionych pomiędzy kontami Databricks przy użyciu Delta Sharing (dla adresatów).
Czy muszę być klientem Databricks, aby korzystać z Delta Sharing?
Nie, Delta Sharing jest protokołem otwartym. Możesz udostępniać dane spoza usługi Databricks adresatom na dowolnej platformie danych. Dostawcy mogą skonfigurować otwarty serwer Delta Sharing do udostępniania z dowolnej platformy informatycznej. Adresaci mogą korzystać z udostępnionych danych przy użyciu łączników Delta Sharing open source dla wielu produktów danych, w tym Power BI, biblioteki pandas i open source frameworku Spark.
Jednak korzystanie z Delta Sharing w Azure Databricks, zwłaszcza przy udostępnianiu z obszaru roboczego z obsługą Unity Catalog, ma wiele zalet.
Aby uzyskać szczegółowe informacje, zobacz pierwsze pytanie w tym często zadawanych pytaniach.
Jak mogę sprawdzić, jakie koszty są związane z Delta Sharing?
Koszty korzystania z Delta Sharing powstają podczas udostępniania oraz dostępu do widoków, widoków materializowanych i tabel strumieniowych. Są to potencjalne źródła kosztów udostępniania:
- Koszt obliczeń naliczany przez Azure Databricks.
- Koszt przechowywania i transferu sieciowego (transferu wychodzącego), naliczany przez dostawcę pamięci masowej.
- Koszt obcego źródła obliczeniowego podczas udostępniania obcych schematów i tabel.
Metoda, za pomocą której jest wykonywane obliczenia i kto za to płaci, zależy od kilku czynników:
- Typ obliczeń adresata
- Czy udostępnianie odbywa się w ramach tego samego konta Azure Databricks, czy między kontami
W poniższej tabeli opisano metodę rozliczeń udostępniania widoków i uzyskiwania do nich dostępu przy użyciu Delta Sharing:
| Obliczenia odbiorcy | Powiązanie konta | Kto płaci | Jednostka SKU używana do rozliczeń | Metoda dostępu |
|---|---|---|---|---|
| Databricks Serverless | Any | Recipient* | Bezserwerowa odbiorca | Odbiorca otrzymuje bezpośredni dostęp do danych bazowych |
| Databricks Classic | To samo konto | Recipient* | Klasyk odbiorcy | Odbiorca otrzymuje bezpośredni dostęp do danych bazowych |
| Databricks Classic | Różne konto | Recipient | Interaktywna usługa bezserwerowa dostawcy | Dostawca wykonuje filtrowanie |
| Otwieranie łączników Delta Sharing | Any | Provider | Interaktywna usługa bezserwerowa dostawcy | Dostawca wykonuje filtrowanie |
* W przypadku korzystania z funkcji Delta Sharing z odbiorcą, który używa obliczeń bezserwerowych na innym koncie, lub z odbiorcą na tym samym koncie, nie są naliczane dodatkowe opłaty. Oznacza to, że nie ma dodatkowych kosztów materializowania zasobu danych.
W przypadku udostępniania tabel obcych (Beta) materializacja jest zawsze przeprowadzana i przechowywana po stronie dostawcy. W przypadku zewnętrznych tabel Iceberg, materializacja jest wykonywana po stronie dostawcy, gdy udostępnianie odbywa się odbiorcy, który nie korzysta z klienta Iceberg. Dostawcy mogą zobaczyć dodatkową opłatę przypisaną domyślnemu magazynowi używanemu do materializacji danych. Nie ma kosztów obliczeń dla tabel obcych w wersji beta.
Przypisanie rozliczeń można również wykonywać zapytania przy użyciu odwołania do tabeli systemu użycia rozliczanego i odwołania do systemowej tabeli historii materializacji Delta Sharing. Jeśli odbiorca płaci za przypisanie, tylko odbiorca może zobaczyć skojarzony rekord w tabeli systemowej. Przykładowe zapytania można znaleźć w temacie Przykładowe zapytania.
Czy Delta Sharing powoduje naliczanie kosztów wychodzących?
Udostępnianie Delta w regionie nie wiąże się z żadnymi kosztami wyjścia. W przeciwieństwie do innych platform udostępniania danych, Delta Sharing nie wymaga replikacji danych. Ten model ma wiele zalet, ale oznacza to, że dostawca chmury może pobierać opłaty za ruch wychodzący podczas udostępniania danych w chmurach lub regionach. Azure Databricks obsługuje udostępnianie z usługi Cloudflare R2, która nie wiąże się z opłatami za ruch wychodzący, oraz udostępnia inne narzędzia i zalecenia do monitorowania i unikania opłat za ruch wychodzący. Zobacz Monitorowanie i zarządzanie kosztami wychodzącymi Delta Sharing (dla dostawców).
Czy adresaci mają bezpośredni dostęp do danych bazowych w widokach udostępnionych, zmaterializowanych widokach i tabelach przesyłania strumieniowego?
W przypadku widoków udostępnionych, zmaterializowanych widoków i tabel przesyłania strumieniowego adresat danych ma bezpośredni dostęp, jeśli spełniony jest jeden z następujących warunków:
- Odbiorca używa bezserwerowych zasobów obliczeniowych lub zasobów obliczeniowych nienależących do klasy klasycznej na tym samym koncie Azure Databricks.
- Odbiorca używa bezserwerowych obliczeń na innym koncie Azure Databricks.
W przeciwnym razie dane są zmaterializowane i filtrowane po stronie dostawcy.
Materializacja danych jest przechowywana w nadrzędnym miejscu przechowywania wspólnej jednostki danych.
W przypadku udostępniania zmaterializowanych zasobów proces obliczeniowy przetwarza żądanie, stosując niezbędne filtry i tworząc tymczasowo zbuforowaną materializację w magazynie pamięci dostawcy. Te przefiltrowane dane są dostarczane do adresatów przy użyciu wstępnie podpisanych krótkoterminowych adresów URL, zapewniając bezpieczny dostęp przy zachowaniu kontroli dostępu od dostawcy do adresata.
Czy dostawcy mogą odwołać dostęp adresata?
Tak, dostęp adresata można odwołać na żądanie i na określonych poziomach szczegółowości. Możesz odmówić adresatowi dostępu do określonych udziałów i określonych adresów IP, filtrować dane tabelaryczne adresata, odwoływać tokeny adresata i całkowicie usuwać adresatów. Zobacz Odwołaj dostęp adresata do udziału oraz Tworzenie adresatów danych i zarządzanie nimi na potrzeby udostępniania usługi Delta (udostępnianie danych w usłudze Databricks-to-Databricks).
Czy nie jest to niezabezpieczone, aby używać wstępnie podpisanych adresów URL?
Funkcja Delta Sharing używa wstępnie podpisanych adresów URL w celu zapewnienia tymczasowego dostępu do pliku w magazynie obiektów. Są one przekazywane tylko adresatom, którzy mają już dostęp do udostępnionych danych. Są one bezpieczne, ponieważ są krótkotrwałe i nie rozszerzają poziomu dostępu poza to, co zostało już przyznane odbiorcom.
Czy tokeny używane w otwartym protokole udostępniania Delta Sharing są bezpieczne?
Delta Sharing umożliwia udostępnianie międzyplatformowe, w przeciwieństwie do innych dostępnych platform udostępniania danych, dlatego protokół wymaga otwartego tokenu. Dostawcy mogą zapewnić bezpieczeństwo tokenów, konfigurując okres istnienia tokenu, ustawiając mechanizmy kontroli sieci i odwołując dostęp na żądanie. Ponadto token nie rozszerza poziomu dostępu poza tym, co już otrzymali adresaci. Zobacz Zagadnienia dotyczące zabezpieczeń dotyczące tokenów.
Jeśli wolisz nie używać tokenów do zarządzania dostępem do udziałów adresatów, powinieneś skorzystać z opcji udostępniania Databricks do Databricks lub skontaktować się z zespołem obsługującym konta w Databricks, aby poznać inne możliwości.
Jaka jest różnica między usługą Lakeflow Connect i funkcją delta sharing?
Delta Sharing pozwala na bezpieczne udostępnianie danych na żywo między platformami, chmurami i regionami. Usługa Databricks zaleca pozyskiwanie przy użyciu łączników zarządzanych, ponieważ są skalowane w celu uwzględnienia dużych ilości danych, zapytań o małych opóźnieniach i limitów interfejsu API innych firm. Jednak możesz chcieć wykonać zapytanie dotyczące danych bez ich przenoszenia.
Jeśli masz wybór między łącznikami zarządzanymi a Delta Sharing, wybierz Delta Sharing w następujących scenariuszach:
- Ograniczanie duplikowania danych.
- Wykonywanie zapytań dotyczących najświeższych możliwych danych.
Ograniczenia
Obsługa formatu tabeli i funkcji
Wymagania dotyczące formatu:
- Dane tabelaryczne muszą być w formacie tabeli Delta lub zarządzanej Iceberg. Tabele Parquet można łatwo przekonwertować na Delta — i z powrotem. Zobacz CONVERT TO DELTA.
- "Delta Sharing może odczytywać tylko tabele UniForm jako tabele Delta."
Nieobsługiwane tabele:
- Dostawcy nie mogą udostępniać tabel korzystających z klastrowania płynnego z filtrowaniem partycji.
- Dostawcy nie mogą udostępniać tabel R2 punktom kontrolnym V2.
- Dostawcy nie mogą udostępniać tabel z włączonymi sortowaniami.
- Dostawcy nie mogą udostępniać tabel zawierających filtry wierszy lub maski kolumn.
- Dostawcy nie mogą udostępniać
SHALLOW CLONEtabel. Azure Databricks nie obsługuje wstępnego przypisywania adresów URL dla dzienników Delta, które odwołują się do ścieżek bezwzględnych. - Dostawcy nie mogą udostępniać zarządzanych tabel Iceberg zewnętrznym klientom Iceberg. Zobacz Dodawanie zarządzanych tabel Iceberg do zasobu współdzielonego i Włączanie udostępniania dla zewnętrznych klientów Iceberg.
- Ograniczenia klucza obcego nie są dostępne w tabelach udostępnionych.
Udostępnianie tylko usługi Databricks do usługi Databricks
Następujące zasoby można udostępniać tylko przy użyciu przepływu udostępniania usługi Databricks-to-Databricks:
- Udostępnianie notesu. Zobacz Dodaj pliki notesu do udostępnienia i Odczytaj dane udostępnione za pomocą funkcji Delta Sharing między Databricks (dla odbiorców).
- Udostępnianie woluminów. Zobacz Dodawanie woluminów do udziału (dla dostawców) i Odczyt danych udostępnionych za pomocą funkcji Databricks-to-Databricks Delta Sharing (dla adresatów).
- Udostępnianie modelu. Zobacz Dodawanie modeli do zasobu (dla dostawców) i Odczytywanie danych udostępnionych za pomocą funkcji Databricks-to-Databricks Delta Sharing (dla odbiorców).
Views
- Widoki z możliwością udostępniania muszą być zdefiniowane w tabelach delty lub w innych widokach współużytkowalnych. Zobacz Dodawanie widoków do współdzielenia (dla dostawców) i Odczyt udostępnionych widoków (dla adresatów).
Streaming
- Delta Sharing nie umożliwia zmiany
responseFormatw trakcie działania źródła przesyłania strumieniowego lub podczas ponownego uruchomienia przesyłania strumieniowego.
Metadane adresata
- Tabele w
information_schemaz wykazu udostępnionego odzwierciedlają metadane przechowywane w Unity Catalog. Te metadane są aktualizowane od dostawcy tylko wtedy, gdy wykonujesz zapytanie o udostępnioną tabelę bezpośrednio lub uruchamiasz polecenie, takie jak DESCRIBE lub REFRESH FOREIGN. Do tego czasuinformation_schemamoże wydawać się nieaktualne w porównaniu z danymi dostawcy.
Limity zasobów i techniczne
- Istnieją limity liczby plików w metadanych dozwolonych dla udostępnionej tabeli. Aby dowiedzieć się więcej, zobacz Błędy przekroczenia limitu zasobów.
- Nie można zaimportować schematów o nazwie
information_schemado metastore w Unity Catalog, ponieważ ta nazwa schematu jest zarezerwowana w Unity Catalog.
Zobacz również macierz obsługi funkcji Delta Lake.
Kaskadowe usuwanie omija ochronę zasobów współdzielonych
Usunięcie obiektu nadrzędnego, takiego jak wykaz lub schemat, powoduje kaskadowe usunięcie obiektów podrzędnych, nawet jeśli te obiekty podrzędne są uwzględnione w aktywnych udziałach. Po usunięciu kaskadowym zasobu, nie można ponownie dodać zasobu o tej samej nazwie do udostępnionej lokalizacji.
Aby uniknąć tego problemu, usuń zasoby ze wszystkich udziałów przed usunięciem ich obiektów nadrzędnych.
Przydziały zasobów
Azure Databricks wymusza limity przydziału zasobów dla wszystkich zabezpieczanych obiektów funkcji Delta Sharing. Te limity przydziału są wymienione w temacie Limity zasobów. Jeśli oczekujesz przekroczenia tych limitów zasobów, skontaktuj się z zespołem ds. kont Azure Databricks.
Można monitorować zużycie limitu przydziałów za pomocą zasobów API Unity Catalog. Sprawdź Monitoruj użycie przydziałów zasobów w Unity Catalog.