Externe Herkunft

Unity Catalog erfasst automatisch die Laufzeitdatenlinie für Abfragen, die auf Azure Databricks ausgeführt werden. Möglicherweise verfügen Sie jedoch über Arbeitslasten, die außerhalb von Azure Databricks ausgeführt werden (z. B. FIRST-Mile ETL oder last-mile BI). Im Unity-Katalog können Sie externe Linienmetadaten hinzufügen, um die erfasste Azure Databricks-Datenlinie automatisch zu erweitern, sodass Sie eine End-to-End-Linienansicht im Unity-Katalog erhalten. Dies ist nützlich, wenn Sie erfassen möchten, wo Daten stammen (z. B. Salesforce oder MySQL), bevor sie in den Unity-Katalog aufgenommen wurden oder wo Daten außerhalb des Unity-Katalogs verwendet werden (z. B. Tableau oder Power BI).

Sie können eine externe Linie auf zwei Arten hinzufügen:

Das folgende Datenherkunftsdiagramm zeigt zwei externe Tabellen in MySQL und PostgreSQL, die in Azure Databricks als eine vom Unity Catalog verwaltete Tabelle eingelesen wurden, wobei die Spalten in eine release_date-Spalte transformiert und anschließend von einem externen Bericht genutzt wurden.

Ein Liniendiagramm mit externen Upstreamtabellen und einem nachgeschalteten Bericht, der mit einer Unity-Katalogtabelle verbunden ist, mit der Schaltfläche

Allgemeine Informationen zur Datenlinie in Azure Databricks finden Sie unter Lineage im Unity-Katalog.

Anforderungen

Um externe Linienmetadaten im Unity-Katalog hinzuzufügen, müssen Sie je nach spezifischer Aufgabe über die folgenden Berechtigungen verfügen:

  • Um ein sicherungsfähiges externes Metadatenobjekt im Unity-Katalog zu erstellen, müssen Sie über die CREATE EXTERNAL METADATA Berechtigung für den Metaspeicher verfügen.
  • Wenn Sie Linienbeziehungen zwischen einem externen Metadatenobjekt und einem anderen Unity Catalog-Objekt angeben möchten, müssen Sie über die MODIFY Berechtigungen für das externe Metadatenobjekt verfügen.
  • Um eine nachgelagerte Abstammungsbeziehung zu einem Unity Catalog-Objekt zu spezifizieren, müssen Sie über Leseberechtigungen für das Objekt verfügen (z.B. SELECT für eine Tabelle).
  • Damit Sie eine vorgelagerte Herkunftsbeziehung zu einem Unity Catalog-Objekt angeben können, müssen Sie über Schreibrechte für das Objekt verfügen (z. B. MODIFY für eine Tabelle).

Hinzufügen externer Linienmetadaten

So fügen Sie externe Linienmetadaten hinzu:

  1. Erstellen Sie ein sicherungsfähiges externes Metadatenobjekt im Unity-Katalog.

    Dieses Objekt stellt eine Entität in einem externen System dar, z. B. ein Dashboard in Tableau.

  2. Konfigurieren Sie eine Linienbeziehung zwischen dem externen Metadatenobjekt und einem anderen Unity Catalog-Objekt, z. B. einer Tabelle, eines Modells, eines Pfads oder eines anderen externen Metadatenobjekts.

    Wenn Sie Linienbeziehungen erstellt haben, wird das externe Metadatenobjekt in der Liniendiagrammansicht angezeigt.

Sie können externe Metadatenobjekte erstellen und Linienbeziehungen mithilfe der Benutzeroberfläche des Katalog-Explorers konfigurieren. Um mit einem vorhandenen Liniendiagramm zu beginnen, klicken Sie in der oberen rechten Ecke des Diagramms auf "Externe Linien erstellen". Sie können auch mit dem Abschnitt "Externe Daten " im Katalog-Explorer beginnen, wie in den folgenden Abschnitten beschrieben.

Erstellen eines externen Metadatenobjekts

Sie können ein externes Metadatenobjekt mithilfe des Katalog-Explorers oder der externen Metadaten-API erstellen.

So erstellen Sie mithilfe des Katalog-Explorers ein externes Metadatenobjekt:

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie auf die Schaltfläche "Externe Daten > ", wechseln Sie zur Registerkarte "Externe Metadaten ", und klicken Sie auf " Externe Metadaten erstellen".

  3. Geben Sie die Metadatendetails an.

    Required:

    • Name: Geben Sie einen lesbaren Namen ein, der Azure Databricks Benutzern hilft, zu verstehen, was sie in Lineage sehen. Externe Metadatenobjekte sind sicherungsfähige Unity-Katalog-Objekte, sodass der Name den Benennungsregeln für Unity-Katalogobjekte entsprechen muss. Siehe Benennungsanforderungen für sicherungsfähige Objekte.
    • Systemtyp: Wählen Sie aus der Liste der allgemeinen externen Daten und BI-Systeme aus. Wenn Sie Ihre nicht finden, wählen Sie "Benutzerdefiniert" aus.
    • Entitätstyp: Geben Sie den Objekttyp ein, z. B. "Tabelle" oder "Dashboard".

    Optional:

    • URL: Geben Sie die URL des Objekts ein, wenn Sie möchten, dass Liniendiagramm-Viewer auf die externe Ressource klicken können (z. B. ein Tableau-Dashboard).
    • Beschreibung

    Fortgeschritten:

    • Spalten: Wenn Sie die Zuordnung von diesem externen Objekt zu einem anderen Unity Catalog-Objekt durchführen möchten, geben Sie Spaltennamen ein. Wählen Sie UI aus, um diese einzeln einzugeben, oder Texteingaben, um eine kommagetrennte Liste in ein einzelnes Textfeld einzugeben.
    • Eigenschaften: Wenn es andere Eigenschaften gibt, die Sie in Der Linie nachverfolgen möchten, geben Sie sie als JSON-Schlüsselwertpaare ein. Sie können die Benutzeroberfläche verwenden, um jedes Schlüssel-Wert-Paar einzugeben, oder ein vollständiges JSON-Objekt eingeben.
  4. Klicken Sie auf "Erstellen".

    Ein Dialogfeld bietet Ihnen die Möglichkeit, das externe Metadatenobjekt anzuzeigen oder Linienbeziehungen für das Objekt zu erstellen.

Erstellen von Linienbeziehungen

Sie können Linienbeziehungen mithilfe des Katalog-Explorers, der externen Linien-API oder des Databricks SDK für Python erstellen.

So fügen Sie Beziehungen zwischen einem externen Metadatenobjekt und anderen Unity Catalog-Objekten hinzu:

  1. Folgen Sie der oben genannten Eingabeaufforderung, oder suchen Sie das vorhandene externe Metadatenobjekt im Katalog-Explorer:

    1. Klicken Sie auf das Symbol Katalog
    2. Klicken Sie auf die Schaltfläche "Externe Daten > "
    3. Wechseln Sie zur Registerkarte "Externe Metadaten ", und wählen Sie das externe Metadatenobjekt aus.
  2. Klicken Sie auf " Linienbeziehung erstellen".

  3. Wählen Sie aus, ob Sie eine upstream- oder downstream-Beziehung erstellen möchten.

  4. Geben Sie den Objekttyp ein, zu dem Sie die Beziehung erstellen möchten:

    • Tabelle: Wählen Sie die Tabelle mithilfe des Suchdialogfelds aus.
    • Modell: Wählen Sie das Modell mithilfe des Suchdialogfelds und dann die Modellversion aus.
    • Pfad: Geben Sie für Volumes oder externe Speicherorte den Pfad ein.
    • Externe Metadaten: Wählen Sie das externe Metadatenobjekt aus dem Dropdownmenü aus.
  5. (Optional) Klicken Sie auf "Erweitert" , um Folgendes hinzuzufügen:

    • Spaltenzuordnungen zwischen dem externen Metadatenobjekt und dem Quell- oder Zielobjekt.
    • Andere Metadaten als JSON-Schlüsselwertpaare. Sie können diese beispielsweise verwenden, um den Text der Abfrage einzugeben, der eine Tabelle aus dem externen Metadatenobjekt oder Anmerkungen erstellt hat, die den externen Workflow erläutern, der die Beziehung generiert hat.
  6. Klicken Sie auf "Erstellen".

Nun können Sie die externe Linienbeziehung auf der Registerkarte "Linie" der zugehörigen Objekte sehen.

Modell externer Linienbeziehungen

Wenn Sie externe Linien manuell hinzufügen, verwenden Sie die folgenden Muster, um komplexere Beziehungen zu modellieren:

  • Verbinden von zwei Unity-Katalogtabellen: Um eine Linienbeziehung zwischen zwei Tabellen anzugeben, die beide im Unity-Katalog registriert sind, erstellen Sie ein externes Metadatenobjekt, das sich zwischen ihnen befindet. Geben Sie eine Tabelle als upstream zum externen Metadatenobjekt und die andere als downstream an, sodass sie im Liniendiagramm verbunden angezeigt werden.
  • Fügen Sie mehrere Zeilenebenen hinzu: Um Daten zu kommentieren, die mehrere Systeme durchlaufen, bevor sie in Azure Databricks gelangen, erstellen Sie mehrere externe Metadatenobjekte, und konfigurieren Sie externe Linienbeziehungen zwischen den einzelnen.
  • Datenherkunft auf Spaltenebene hinzufügen: Geben Sie Spaltennamen an, wenn Sie das externe Metadatenobjekt erstellen, und ordnen Sie dann die Quell- und Zielspalten einander zu, wenn Sie die Herkunftsbeziehung konfigurieren.

Einschränkungen

  • Externe Linien werden in den Zeilensystemtabellen (system.access.table_lineage und system.access.column_lineage) nicht aufgezeichnet.
  • Sie können bis zu 10.000 externe Metadatenobjekte und 100.000 externe Linienbeziehungen pro Metastore erstellen. Sie Ressourceneinschränkungen.

Weitere Ressourcen