Herkunft im Unity Catalog

Die Datenlinie zeigt, wo Daten in Azure Databricks stammen und wo sie sich befinden: welche Abfragen und Dateien eine Tabelle auffüllen, welche Aufträge und Notizbücher sie transformieren und welche Dashboards die Ergebnisse nutzen.

Unity Catalog erfasst die Herkunft automatisch für Abfragen, die in Azure Databricks ausgeführt werden, bis hinunter auf Spaltenebene, und aggregiert sie über alle Arbeitsbereiche hinweg, die an den Metastore angefügt sind. Die Herkunft im Unity Catalog ermöglicht Ihnen Folgendes:

  • Durchführen einer Auswirkungsanalyse: Bevor Sie eine Tabelle oder Spalte ändern oder löschen, identifizieren Sie die nachgeschalteten Tabellen, Aufträge und Dashboards, die davon abhängig sind.
  • Untersuchen Sie die Ursachen: Wenn ein nachgelagerter Bericht unerwartete Ergebnisse anzeigt, verfolgen Sie upstream-Quellen, um zu ermitteln, wo die Daten voneinander abweichen.
  • Vertrauliche Datenflüsse nachverfolgen: Für Compliance-Prüfungen sehen Sie, wo regulierte Daten ihren Ursprung haben, wie sie umgewandelt werden und welche nachgelagerten Assets diese Daten nutzen.
  • Grundlegendes zu teamübergreifenden Abhängigkeiten: Ermitteln Sie, welche Teams die upstream-Quellen besitzen, auf die Sie sich verlassen, oder welche Teams Ihre Tabellen nutzen.

Unity Catalog erfasst außerdem die Abstammung der Modellservices und externen Modellanbieter (Modellanbieterdienste), die Sie über Unity Gateway verwalten. Für jeden Dienst verfolgt Unity Catalog die Modelle, die er bereitstellt, sowie die Inferenztabelle, in die protokolliert wird, sodass diese KI-Abhängigkeiten als Knoten im selben Lineage-Diagramm wie Ihre Tabellen erscheinen. Siehe Track-Modell-Service und Anbieterabstammung.

Die externe Linienlinie erweitert das Liniendiagramm über Azure Databricks hinaus. Registrieren Sie upstream-Quellen wie Salesforce oder MySQL und downstream Tools wie Tableau oder Power BI als externe Ressourcen im Unity-Katalog, und sie werden zusammen mit Ihren Unity-Katalogtabellen in einem einzelnen Diagramm angezeigt. Weitere Informationen finden Sie unter Externe Herkunft.

Der Unity-Katalog verfolgt außerdem die Abstammung von benutzerdefinierten Funktionen (UDFs). Siehe UDF-Lineage anzeigen.

Das folgende Bild ist ein Beispiel für einen Herkunfts-Graph. Knoten können Tabellen und Ansichten, ML-Modellversionen, externe Ressourcen und Dateipfade darstellen.

Übersicht über die Abstammung.

Anforderungen

So erfassen Sie die Datenlinie mithilfe des Unity-Katalogs:

  • Tabellen müssen in einem Unity Catalog-Metastore registriert sein.
  • Externe Ressourcen (die nicht im Unity-Katalog-Metastore registriert sind) müssen als externe Metadatenobjekte im Unity-Katalog hinzugefügt werden, die so konfiguriert sind, dass Beziehungen zu anderen sicherungsfähigen Objekten im Unity-Katalog-Metastore registriert sind. Weitere Informationen finden Sie unter Externe Herkunft.
  • Abfragen müssen die Spark DataFrame (z. B. Spark SQL-Funktionen, die einen DataFrame zurückgeben) oder Databricks SQL-Schnittstellen wie Notizbücher oder den SQL-Abfrageeditor verwenden.

Anzeigen der Datenherkunft:

  • Sie müssen mindestens über die Berechtigungen BROWSE für den übergeordneten Katalog der Tabelle oder Ansicht verfügen. Der übergeordnete Katalog muss auch über den Arbeitsbereich zugänglich sein. Siehe Arbeitsbereich-Katalogbindung.
  • Für Notizbücher, Aufträge oder Dashboards müssen Sie über Berechtigungen für diese Objekte verfügen, wie sie durch die Zugriffssteuerungseinstellungen im Arbeitsbereich definiert sind. Ausführliche Informationen finden Sie unter Berechtigungen.
  • Für eine Unity Catalog-fähige Pipeline müssen Sie über die BERECHTIGUNG CAN VIEW für die Pipeline verfügen.

Computeanforderungen:

  • Die Nachverfolgung der Datenherkunft des Streamings zwischen Delta-Tabellen erfordert Databricks Runtime 11.3 LTS oder höher.
  • Die Nachverfolgung von Spalten für Lakeflow-Pipeline-Workloads erfordert Databricks Runtime 13.3 LTS oder höher.

Netzwerkanforderungen:

Anzeigen der Linien im Katalog-Explorer

So verwenden Sie den Katalog-Explorer, um die Tabellendatenherkunft anzuzeigen:

  1. Klicken Sie in Ihrem Azure Databricks Arbeitsbereich auf Datensymbol.Catalog.

  2. Suchen oder durchsuchen Sie Ihre Tabelle.

  3. Wählen Sie die Registerkarte "Linie" aus . Der Bereich "Linie" wird angezeigt und zeigt verwandte Tabellen an.

  4. Um ein interaktives Diagramm der Datenlinie anzuzeigen, klicken Sie auf "Liniendiagramm anzeigen".

    Standardmäßig wird eine Ebene im Diagramm angezeigt. Klicken Sie auf das Pluszeichensymbol auf einem Knoten, um weitere Verbindungen anzuzeigen, wenn sie verfügbar sind.

  5. Klicken Sie auf das Symbol auf einem Verbindungsrand im Liniendiagramm, um den Bereich " Liniendetails " zu öffnen.

    Im Bereich "Liniendetails " werden Details zur Verbindung angezeigt, einschließlich Quell- und Zieltabellen.

    Liniendiagramm.

  6. Um eine Ressource anzuzeigen, die einer Tabelle zugeordnet ist, wählen Sie das Objekt im Bereich "Liniendetails " aus. Sie können nach Notizbüchern, Aufträgen, Pipelines und Abfragen filtern.

  7. Klicken Sie zum Anzeigen der Linien auf Spaltenebene auf eine Spalte im Diagramm, um Verknüpfungen zu verwandten Spalten anzuzeigen. Wenn Sie beispielsweise auf die revenue Spalte in diesem Beispieldiagramm klicken, werden die vorgelagerten Spalten angezeigt, von denen die Spalte abgeleitet wurde:

    Die Datenherkunft der Spalte „full_menu“.

Modelldienst- und Anbieterabstammung ansehen

Um die Abstammung eines Modelldienstes oder eines externen Modellanbieters (Modellanbieter-Service) einzusehen, öffnen Sie den Tabus Abstammung im Katalog-Explorer. Weitere Informationen finden Sie unter Nachverfolgung der Herkunft von Modelldiensten und Anbietern.

Job-Herkunft anzeigen

Um die Auftragslinie anzuzeigen, wechseln Sie zur Registerkarte " Lineage " einer Tabelle, wählen Sie "Aufträge" und dann "Downstream" aus. Der Job Name erscheint unter Job Name als Consumer der Tabelle.

Dashboarddatenherkunft anzeigen

Um die Dashboardlinie anzuzeigen, wechseln Sie zur Registerkarte " Linien " einer Tabelle, und klicken Sie auf "Dashboards". Das Dashboard wird unter Dashboardname als Nutzer der Tabelle angezeigt.

UDF-Linie anzeigen

Verwenden Sie die UDF-Lineage, um nachzuverfolgen, wo eine benutzerdefinierte Funktion (UDF) im Unity-Katalog verwendet wird, damit Sie die Auswirkungen einer Modifikation eines gemeinsamen UDF bewerten können, bevor Sie Änderungen vornehmen. Die UDF-Linie verfolgt Workloads, die ein UDF aufrufen, wie Jobs, Pipelines, Notebooks oder SQL-Abfragen, zusammen mit Datenressourcen, die in ihrer Definition auf das UDF verweisen. Unity Catalog erfasst die UDF-Abstammung für SQL-, Python- und Scala UDFs.

Um die Abstammung eines UDF zu sehen:

  1. Klicken Sie in Ihrem Azure Databricks Arbeitsbereich auf Datensymbol.Catalog.
  2. Suchen Sie nach der Funktion oder navigieren Sie zu ihr.
  3. Wählen Sie die Registerkarte Lineage aus. Die Registerkarte zeigt die mit dem UDF verbundenen Assets zusammen mit der Richtung, dem Typ und der letzten Aktivität jedes Assets an.

Das folgende Beispiel zeigt den Lineage-Tab für die udf_demo.default.normalize_email UDF. Die nachgelagerten Assets umfassen die customer_profiles_view Tabelle, die Abfragen und Notizbücher, die die Funktion aufrufen, sowie den Job, der sie ausführt.

Der Lineage-Tab für ein UDF im Catalog Explorer.

UDFs, die zur Transformation von Daten zwischen Tabellen oder Ansichten verwendet werden, werden ebenfalls im Liniengraphen erfasst. Im folgenden Beispiel listet das Lineage-Details-Panel für die Kante zwischen Tabelle customers und Ansicht customer_profiles_view die normalize_email UDF auf, die die Daten transformiert:

Eine UDF, die im Lineage-Detail-Panel des Liniendiagramms gezeigt wird.

Die UDF-Linie hat neben den allgemeinen Datenlinienbeschränkungen folgende Einschränkungen:

  • Unity Catalog erfasst die UDF-Herkunft auf Tabellenebene. Die Linie der UDF auf Säulenebene wird nicht erfasst.
  • SQL-UDFs werden nicht aus INSERT, UPDATE, und MERGE Anweisungen erfasst.
  • Die Abstammung wird für Tabellen oder Funktionen, die innerhalb eines UDF-Körpers referenziert werden, nicht erfasst.
  • Tabellenwertige Funktionen, ML-Funktionen und Feature-Spec-Funktionen werden in der Linie nicht erfasst.
  • Sie können die UDF-Herkunft nicht mit den Systemtabellen zur Herkunft abfragen.

Lineage mit Genie Code abrufen

Genie Code kann Linienfragen in natürlicher Sprache beantworten.

So rufen Sie Zeileninformationen mithilfe von Genie Code ab:

  1. Klicken Sie in der Arbeitsbereichs-Randleiste auf das Datensymbol.Katalog.
  2. Durchsuchen Sie den Katalog oder suchen Sie danach, klicken Sie auf den Katalognamen und dann oben rechts auf das Farbsymbol für den Genie-Code. Genie-Code-Symbol.
  3. Geben Sie an der Eingabeaufforderung von Genie Code Folgendes ein:
    • /getTableLineages um upstream- und downstream-Abhängigkeiten anzuzeigen.
    • /getTableInsights um auf metadatengesteuerte Einblicke zuzugreifen, z. B. Benutzeraktivität und Abfragemuster.

Mit diesen Abfragen kann Genie Code Fragen wie "Nachgelagerte Linien anzeigen" oder "wer diese Tabelle am häufigsten abfragt" beantworten.

Genie Code bietet Tabellenlinien und Einblicke.

Abfragelinie mit Systemtabellen

Sie können die Herkunftssystemtabellen verwenden, um Herkunftsdaten programmgesteuert abzufragen. Ausführliche Anweisungen finden Sie unter Referenz zu Systemtabellen und Systemtabellen für Linien.

Note

Lineage für Unity Catalog UDFs ist in den Lineage System-Tabellen nicht verfügbar. Siehe UDF-Lineage anzeigen.

Erlaubnisse

Liniendiagramme verwenden das gleiche Berechtigungsmodell wie Unity-Katalog. Tabellen und andere im Unity-Katalog-Metaspeicher registrierte Datenobjekte sind nur für Benutzer sichtbar, die mindestens BROWSE über Berechtigungen für diese Objekte verfügen. Wenn ein Benutzer nicht über das BROWSE- oder SELECT-Privileg für eine Tabelle verfügt, kann er deren Herkunft nicht erkunden.

Die Linie wird über alle Arbeitsbereiche aggregiert, die einem Unity Catalog-Metastore zugeordnet sind, sodass die in einem Arbeitsbereich erfasste Linie in jedem anderen Arbeitsbereich sichtbar ist, der diesen Metaspeicher freigibt, solange der Benutzer über ausreichende Objektberechtigungen verfügt. Detaillierte Informationen zu Objekten auf Arbeitsbereichsebene wie Notizbüchern und Dashboards in anderen Arbeitsbereichen sind maskiert. Informationen finden Sie unter Einschränkungen.

Führen Sie beispielsweise die folgenden Befehle für userA:

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

Wenn userA das Lineage-Diagramm für die Tabelle lineage_data.lineagedemo.menu anzeigt, sehen sie die Tabelle menu. Sie können keine Informationen zu zugeordneten Tabellen anzeigen, z. B. die nachgeschaltete lineage_data.lineagedemo.dinner Tabelle. Die dinner-Tabelle erscheint für masked als userA-Knoten, und userA kann den Graphen nicht erweitern, um nachgelagerte Tabellen von Tabellen sichtbar zu machen, auf die kein Zugriffsrecht besteht.

Wenn Sie den folgenden Befehl ausführen, um die BROWSE Berechtigung zu userBerteilen, kann dieser Benutzer das Liniendiagramm für eine beliebige Tabelle im lineage_data Schema anzeigen:

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

Lineage-Benutzer müssen auch über bestimmte Berechtigungen zum Anzeigen von Arbeitsbereichsobjekten wie Notizbüchern, Aufträgen und Dashboards verfügen. Detaillierte Informationen zu diesen Objekten sind nur im Arbeitsbereich sichtbar, in dem sie erstellt wurden.

Weitere Informationen zum Verwalten des Zugriffs auf sicherungsfähige Objekte im Unity-Katalog finden Sie unter Verwalten von Berechtigungen im Unity-Katalog. Weitere Informationen zum Verwalten des Zugriffs auf Arbeitsbereichsobjekte wie Notizbücher, Aufträge und Dashboards finden Sie unter Access-Steuerelementlisten.

Retention

Im Katalog-Explorer angezeigte Liniendaten bleiben unbegrenzt erhalten. Alle nach dem 1. September 2024 erfassten Liniendaten sind verfügbar. Für Metastores, die nach diesem Datum erstellt wurden, umfasst der Katalog-Explorer im Dropdown-Menü für den Lineage-Zeitbereich die Option Gesamte Zeit. Bei älteren Metastores enthält das Dropdown eine Option "Alle verfügbar ", die ab dem 1. September 2024 beginnt. Die Standardauswahl ist 1 Jahr.

Liniensystemtabellen (system.access.table_lineage und system.access.column_lineage) behalten ein rollierendes 1-Jahres-Datenfenster bei. Siehe Referenz der Lineage-Systemtabellen.

Einschränkungen

Die Datenlinie weist die folgenden Einschränkungen auf. Diese Einschränkungen gelten auch für Zeilensystemtabellen:

  • Die vor dem 1. September 2024 erfassten Liniendaten sind nicht verfügbar.
  • Aufträge, die die Auftrags-API-Anforderung runs submit oder den spark submit Aufgabentyp verwenden, sind in Zeilenansichten nicht verfügbar. Tabellen- und Spaltenebenenherkunft wird für diese Workflows weiterhin gesammelt, aber die Verknüpfung zum Auftrag wird nicht erfasst.
  • Die Herkunft wird für umbenannte Kataloge, Schemas, Tabellen, Sichten oder Spalten nicht beibehalten.
  • Wenn Sie Spark SQL-Dataset-Prüfpunkte verwenden, wird die Herkunft nicht erfasst.
  • Unity Catalog erfasst die Linien von Lakeflow-Pipelines in den meisten Fällen, aber die Abdeckung ist für Pipelines, die PRIVATE Tabellen verwenden, unvollständig.
  • Resilient Distributed Datasets (RDDs) werden in der Herkunft nicht erfasst.
  • Globale temporäre Sichten werden nicht nach Datenherkunft erfasst.
  • Transaktionen geben die Herkunft bei jedem Lese- und Schreibvorgang aus. Lineage-Ereignisse bleiben auch dann erhalten, wenn die Transaktion zurückgesetzt wird.
  • Tabellen unter system.information_schema werden nicht nach Datenherkunft erfasst.
  • Unity Catalog erfasst so weit wie möglich die Datenherkunft auf Spaltenebene. Es gibt jedoch einige Fälle, in denen die Datenherkunft auf Spaltenebene nicht erfasst werden kann. Dazu gehören:
    • Spaltenlinien können nicht erfasst werden, wenn die Quelle oder das Ziel als Pfad referenziert wird (Beispiel: select * from delta."s3://<bucket>/<path>"). Spaltenlinien werden nur unterstützt, wenn sowohl die Quelle als auch das Ziel nach Tabellenname referenziert werden (Beispiel: select * from <catalog>.<schema>.<table>).

    • Die Verwendung benutzerdefinierter Funktionen (UDFs) kann die Zuordnung zwischen Quell- und Zielspalten verschleieren. Unity Catalog erfasst die Lineage für UDFs auf Tabellenebene, jedoch nicht auf Spaltenebene. Siehe UDF-Lineage anzeigen.

Weitere Ressourcen