Śledzenie pochodzenia danych w Unity Catalog

Pochodzenie danych pokazuje, skąd pochodzą dane w Azure Databricks i dokąd trafiają: które zapytania i pliki zasilają tabelę, które zadania i notatniki je przekształcają oraz które pulpity nawigacyjne wykorzystują wyniki.

Unity Catalog automatycznie rejestruje informacje o pochodzeniu danych dla zapytań uruchamianych w usłudze Azure Databricks, aż do poziomu kolumn, i agreguje te informacje ze wszystkich obszarów roboczych dołączonych do magazynu metadanych. Śledzenie pochodzenia danych w Unity Catalog umożliwia:

  • Przeprowadź analizę wpływu: przed zmianą lub usunięciem tabeli lub kolumny zidentyfikuj tabele podrzędne, zadania i pulpity nawigacyjne, które od niego zależą.
  • Zbadaj główne przyczyny: gdy raport podrzędny wyświetla nieoczekiwane wyniki, śledź nadrzędne źródła, aby znaleźć miejsce, w którym dane się rozeszły.
  • Śledź przepływ danych wrażliwych: Na potrzeby audytów zgodności sprawdź, skąd pochodzą dane regulowane, jak są przekształcane i które dalsze zasoby je wykorzystują.
  • Poznaj zależności między zespołami: sprawdź, które zespoły są właścicielami źródeł wejściowych, na których bazujesz, oraz które zespoły korzystają z Twoich tabel.

Unity Catalog rejestruje również linię genealogii dla API modelu (usługi modelowe) oraz zewnętrznych dostawców modeli (usługi dostawców modeli), którymi zarządzasz przez Unity Gateway. Dla każdej usługi Unity Catalog śledzi modele, które obsługuje, oraz tabelę wnioskowania, do której się loguje, więc te zależności AI pojawiają się jako węzły w tym samym wykresie linii co Twoje tabele. Zobacz API Track Model i linię dostawców.

Pochodzenie zewnętrzne rozszerza wykres pochodzenia poza Azure Databricks. Zarejestruj źródła wejściowe, takie jak Salesforce lub MySQL, oraz narzędzia docelowe, takie jak Tableau lub Power BI, jako zasoby zewnętrzne w Unity Catalog, a będą one wyświetlane obok tabel Unity Catalog na jednym grafie. Zobacz Pochodzenie zewnętrzne.

Unity Catalog śledzi również genealogię funkcji definiowanych przez użytkownika (UDF). Zobacz Zobacz linię UDF.

Na poniższej ilustracji przedstawiono przykładowy wykres pochodzenia. Węzły mogą reprezentować tabele i widoki, wersje modelu uczenia maszynowego, zasoby zewnętrzne i ścieżki plików.

omówienie pochodzenia.

Wymagania

Aby przechwycić linię danych za pomocą katalogu Unity:

  • Tabele muszą być zarejestrowane w metastore Unity Catalog.
  • Zasoby zewnętrzne (te niezarejestrowane w metadane Unity Catalog) należy dodać jako obiekty metadanych zewnętrznych w Unity Catalog, skonfigurowane tak, aby miały relacje z innymi zabezpieczanymi obiektami zarejestrowanymi w metadane Unity Catalog. Zobacz Pochodzenie zewnętrzne.
  • Zapytania muszą używać ramki danych Platformy Spark (na przykład funkcji Spark SQL, które zwracają ramkę danych) lub interfejsów SQL usługi Databricks, takich jak notesy lub edytor zapytań SQL.

Aby wyświetlić pochodzenie danych:

  • Musisz mieć uprawnienia co najmniej BROWSE do katalogu nadrzędnego tabeli lub widoku. Katalog nadrzędny musi być również dostępny z wnętrza obszaru roboczego. Zobacz Powiązanie katalogu obszarów roboczych.
  • W przypadku notesów, zadań lub pulpitów nawigacyjnych musisz mieć uprawnienia do tych obiektów zgodnie z definicją ustawień kontroli dostępu w obszarze roboczym. Aby uzyskać szczegółowe informacje, zobacz Uprawnienia.
  • W przypadku potoku z włączonym Unity Catalog musisz mieć uprawnienie CAN VIEW dla potoku.

Wymagania dotyczące obliczeń:

  • Śledzenie pochodzenia danych przesyłanych strumieniowo między tabelami Delta wymaga środowiska Databricks Runtime 11.3 LTS lub nowszego.
  • Śledzenie pochodzenia kolumn w obciążeniach potoków Lakeflow wymaga środowiska Databricks Runtime 13.3 LTS lub nowszej wersji.

Wymagania dotyczące sieci:

Wyświetl pochodzenie danych w Eksploratorze katalogu

Aby użyć Eksploratora katalogu do wyświetlania pochodzenia tabeli:

  1. W obszarze roboczym Azure Databricks kliknij pozycję Ikona danych.Catalog.

  2. Wyszukaj lub przeglądaj tabelę.

  3. Wybierz kartę Pochodzenie . Zostanie wyświetlony panel pochodzenia i wyświetli powiązane tabele.

  4. Aby wyświetlić interaktywny wykres pochodzenia danych, kliknij pozycję Zobacz wykres pochodzenia danych.

    Domyślnie jeden poziom jest wyświetlany na grafie. Kliknij ikonę znaku plusa na węźle, aby wyświetlić więcej połączeń, jeśli są dostępne.

  5. Kliknij ikonę na krawędzi łączącej na wykresie pochodzenia, aby otworzyć panel Szczegóły pochodzenia .

    Panel Szczegóły pochodzenia danych wyświetla szczegółowe informacje o połączeniu, w tym tabele źródłowe i docelowe.

    wykres pochodzenia.

  6. Aby wyświetlić zasób skojarzony z tabelą, wybierz zasób na panelu Szczegóły pochodzenia . Możesz filtrować według notesów, zadań, potoków i zapytań.

  7. Aby wyświetlić pochodzenie na poziomie kolumny, kliknij kolumnę na wykresie, aby wyświetlić łącza do powiązanych kolumn. Na przykład kliknięcie kolumny revenue na tym przykładowym grafie powoduje wyświetlenie kolumn nadrzędnych, z których pochodzi kolumna:

    pełne menu pochodzenie kolumn.

Zobacz API Modelu i linię dostawców

Aby zobaczyć linię dla API modelu (usługa modelu) lub zewnętrznego dostawcy modelu (usługa dostawcy modeli), otwórz zakładkę Linia w Eksploratorze katalogu. Szczegóły można znaleźć w artykule Track Model API i linia dostawców.

Wyświetlanie pochodzenia zadań

Aby wyświetlić pochodzenie zadań, przejdź do karty Pochodzenie tabeli, wybierz pozycję Zadania i wybierz pozycję Podrzędne. Nazwa zadania jest wyświetlana w obszarze Nazwa zadania jako użytkownik tabeli.

Wyświetl pochodzenie pulpitu nawigacyjnego

Aby wyświetlić pochodzenie pulpitu nawigacyjnego, przejdź do karty Pochodzenie tabeli i kliknij pozycję Pulpity nawigacyjne. Tablica rozdzielcza wyświetla się pod Nazwa tablicy rozdzielczej jako odbiorca danych tabeli.

Zobacz linię UDF

Użyj linii UDF, aby śledzić, gdzie w Unity Catalog używana jest funkcja zdefiniowana przez użytkownika (UDF), aby móc ocenić wpływ modyfikacji współdzielonego UDF przed wprowadzeniem jakichkolwiek zmian. Linia UDF śledzi obciążenia wywołujące UDF, takie jak jobs, pipeline, notebooki czy zapytania SQL, wraz z zasobami danych, które odwołują się do UDF w swojej definicji. Unity Catalog rejestruje pochodzenie UDF dla SQL, Python i Scala UDF.

Aby zobaczyć linię genetyczną dla UDF:

  1. W obszarze roboczym Azure Databricks kliknij pozycję Ikona danych.Catalog.
  2. Wyszukaj lub przeglądaj tę funkcję.
  3. Wybierz kartę Pochodzenie. Na karcie są wyświetlane zasoby powiązane z UDF wraz z kierunkiem, typem i ostatnią aktywnością każdego zasobu.

Poniższy przykład pokazuje zakładkę Lineage dla udf_demo.default.normalize_email UDF. Do zasobów w dalszej części należą tabela customer_profiles_view , zapytania i notatniki wywołujące funkcję oraz zadanie, które ją uruchamia.

Zakładka Lineage dla UDF w Catalog Explorer.

Funkcje UDF używane do przekształcania danych między tabelami lub widokami są również uwzględniane w grafie pochodzenia danych. W poniższym przykładzie panel szczegóły pochodzenia danych dla krawędzi między tabelą customers a widokiem customer_profiles_view zawiera funkcję UDF normalize_email, która przekształca dane:

Funkcja UDF wyświetlana w panelu szczegółów pochodzenia danych na grafie pochodzenia danych.

Linia rodowa UDF ma następujące ograniczenia, oprócz ogólnych ograniczeń dotyczących linii genealogicznych danych:

  • Katalog Unity rejestruje linię UDF na poziomie tabeli. Linia UDF na poziomie kolumn nie jest rejestrowana.
  • Funkcje UDF SQL nie są przechwytywane z instrukcji INSERT, UPDATE i MERGE.
  • Linia nie jest rejestrowana dla tabel ani funkcji cytowanych wewnątrz ciała UDF.
  • Funkcje tabelowe, funkcje ML oraz funkcje specyfikacji cech nie są uwzględniane w linii liniowej.
  • Nie można zadawać zapytań o linię UDF za pomocą tabel systemu linii.

Pobieranie pochodzenia przy użyciu kodu Genie

Genie Code może odpowiedzieć na pytania pochodzenia w języku naturalnym.

Aby uzyskać informacje o pochodzeniu przy użyciu kodu Genie:

  1. Na pasku bocznym obszaru roboczego kliknij ikonę Dane.Wykaz.
  2. Przeglądaj lub wyszukaj katalog, kliknij nazwę katalogu, a następnie kliknij ikonę Kolor kodu Genie. Ikona Kodu genie w prawym górnym rogu.
  3. W wierszu polecenia Genie Code wpisz:
    • /getTableLineages aby wyświetlić zależności nadrzędne i podrzędne.
    • /getTableInsights aby uzyskać dostęp do szczegółowych informacji opartych na metadanych, takich jak aktywność użytkownika i wzorce zapytań.

Te zapytania umożliwiają usłudze Genie Code odpowiadanie na pytania, takie jak "pokaż mi pochodzenie podrzędne" lub "kto najczęściej wykonuje zapytania dotyczące tej tabeli".

Kod Genie zapewnia pochodzenie tabel i szczegółowe informacje.

Śledzenie pochodzenia zapytań za pomocą tabel systemowych

Tabele systemowe pochodzenia umożliwiają programowe wykonywanie zapytań dotyczących danych pochodzenia. Aby uzyskać szczegółowe instrukcje, zobacz Referencja tabel systemowych i Referencja tabel systemowych lineage.

Uwaga / Notatka

Lineage for Unity Catalog UDF nie jest dostępny w tabelach systemu genealog. Zobacz Zobacz linię UDF.

Permissions

Grafy pochodzenia dzielą ten sam model uprawnień co Unity Catalog. Tabele i inne obiekty danych zarejestrowane w metaskładzie Katalogu Unity są widoczne tylko dla użytkowników, którzy mają co najmniej uprawnienia BROWSE do tych obiektów. Jeśli użytkownik nie ma uprawnień BROWSE lub SELECT w tabeli, nie może eksplorować jej linii pochodzenia.

Informacje o pochodzeniu danych są agregowane we wszystkich obszarach roboczych dołączonych do magazynu metadanych Unity Catalog, dlatego informacje o pochodzeniu danych zarejestrowane w jednym obszarze roboczym są widoczne w każdym innym obszarze roboczym, który korzysta z tego samego magazynu metadanych, o ile użytkownik ma odpowiednie uprawnienia do obiektów. Szczegółowe informacje o obiektach na poziomie obszaru roboczego, takich jak notesy i pulpity nawigacyjne w innych obszarach roboczych, są maskowane. Zobacz Ograniczenia.

Na przykład uruchom następujące polecenia dla userA:

GRANT USE SCHEMA on lineage_data.lineagedemo to `userA@company.com`;
GRANT SELECT on lineage_data.lineagedemo.menu to `userA@company.com`;

Gdy userA wyświetla wykres pochodzenia dla lineage_data.lineagedemo.menu tabeli, widzą tabelę menu . Nie widzą informacji o skojarzonych tabelach, takich jak tabela podrzędna lineage_data.lineagedemo.dinner . Tabela dinner jest widoczna dla masked jako węzeł userA, a userA nie może rozwinąć grafu, aby wyświetlić tabele podrzędne z tabel, do których nie ma uprawnień dostępu.

Jeśli uruchomisz następujące polecenie, aby nadać uprawnienia BROWSE użytkownikowi userB, użytkownik ten będzie mógł wyświetlić graf genealogii dla dowolnej tabeli w schemacie lineage_data.

GRANT BROWSE on lineage_data to `userB@company.com`;

Użytkownicy Lineage muszą również mieć określone uprawnienia do wyświetlania obiektów obszaru roboczego, takich jak notatniki, zadania i pulpity. Szczegółowe informacje o tych obiektach są widoczne tylko w obszarze roboczym, w którym zostały utworzone.

Aby uzyskać więcej informacji na temat zarządzania dostępem do zabezpieczanych obiektów w Unity Catalog, zobacz Zarządzanie uprawnieniami w Unity Catalog. Aby uzyskać więcej informacji na temat zarządzania dostępem do obiektów obszaru roboczego, takich jak notesy, zadania i pulpity nawigacyjne, zobacz Listy kontroli dostępu.

Retention

Dane pochodzenia wyświetlane w Eksploratorze wykazu są zachowywane na czas nieokreślony. Wszystkie dane pochodzenia przechwycone po 1 września 2024 r. są dostępne. W przypadku magazynów metadanych utworzonych po tej dacie Eksplorator wykazu zawiera na liście rozwijanej zakresu czasu pochodzenia opcję Cały okres. W przypadku starszych magazynów metadanych lista rozwijana zawiera opcję Wszystkie dostępne , która rozpoczyna się od 1 września 2024 r. Domyślny wybór to 1 rok.

Tabele systemu Lineage (system.access.table_lineage i system.access.column_lineage) przechowują dane z ruchomego rocznego okna. Zobacz Informacje o tabelach systemowych Lineage.

Ograniczenia

Pochodzenie danych ma następujące ograniczenia. Te ograniczenia dotyczą również tabel systemowych pochodzenia:

  • Dane dotyczące pochodzenia zebrane przed 1 września 2024 r. nie są dostępne.
  • Zadania, które korzystają z żądania Jobs API runs submit lub typu zadania spark submit, są niedostępne w widokach powiązań. Pochodzenie danych na poziomie tabeli i kolumny jest nadal przechwytywane dla tych przepływów pracy, ale link do przebiegu zadania nie jest przechwytywany.
  • Śledzenie pochodzenia nie jest zachowywane w przypadku katalogów, schematów, tabel, widoków ani kolumn, którym zmieniono nazwę.
  • Jeśli używasz punktów kontrolnych zestawu danych Spark SQL, pochodzenie nie jest przechwytywane.
  • Unity Catalog rejestruje pochodzenie danych z potoków Lakeflow w większości przypadków, ale obsługa nie jest pełna w przypadku potoków korzystających z prywatnych tabel.
  • Odporne Rozproszone Zestawy Danych (RDD) nie są uwzględniane w śledzeniu transformacji.
  • Globalne widoki tymczasowe nie są przechwytywane w rodowodzie.
  • Transakcje generują informacje o pochodzeniu danych podczas każdego odczytu i zapisu. Zdarzenia genealogii są zachowywane nawet wtedy, gdy transakcja zostanie wycofana.
  • Tabele w system.information_schema nie są uwzględniane w śledzeniu pochodzenia.
  • Unity Catalog przechwytuje pochodzenie na poziomie kolumny, w miarę możliwości. Jednak w niektórych przypadkach nie można przechwycić pochodzenia na poziomie kolumny. Należą do nich:
    • Nie można przechwycić genezy kolumn, jeśli źródło lub cel jest przywoływany jako ścieżka (przykład: select * from delta."s3://<bucket>/<path>"). Pochodzenie kolumn jest obsługiwane tylko wtedy, gdy zarówno źródło, jak i cel są przywoływane według nazwy tabeli (Przykład: select * from <catalog>.<schema>.<table>).

    • Użycie funkcji definiowanych przez użytkownika (UDF) może zaciemnić mapowanie między kolumnami źródłowymi a docelowymi. Unity Catalog rejestruje linię liniową na poziomie tabeli dla UDF, ale nie linię na poziomie kolumnowym. Zobacz Zobacz linię UDF.

Dodatkowe zasoby