Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Unity Catalog samlar automatiskt in dataflödesinformation för körning över frågor som körs på Azure Databricks. Du kan dock ha arbetsbelastningar som körs utanför Azure Databricks (till exempel inledande ETL eller avslutande BI). Med Unity Catalog kan du lägga till externa ursprungsmetadata för att utöka den Azure Databricks-dataursprung som den samlar in automatiskt, vilket ger dig en ursprungsvy från slutpunkt till slutpunkt i Unity Catalog. Detta är användbart när du vill samla in var data kommer från (till exempel Salesforce eller MySQL) innan de matades in i Unity Catalog eller där data används utanför Unity Catalog (till exempel Tableau eller Power BI).
Du kan lägga till extern härkomst på två sätt:
- Manuellt, med Catalog Explorer-gränssnittet, API:erna för extern metadata och extern datalinjering eller Databricks SDK för Python.
- Automatiskt, med Lakeflow Connect-hanterade inmatningspipelines som registrerar källornas datalinjering från dina källtabeller till destinationstabellerna i Unity Catalog. Se Spåra källdata härstamning för hanterade inmatningspipelines.
Följande härkomstdiagram visar två externa tabeller i MySQL och PostgreSQL som matades in i Azure Databricks som en hanterad Unity Catalog-tabell, med kolumner som omvandlats till en release_date kolumn och sedan förbrukats av en extern rapport.
För allmän information om dataursprung i Azure Databricks, se Dataursprung i Unity Catalog.
Kravspecifikation
Om du vill lägga till externa härstamningsmetadata i Unity Catalog måste du ha följande behörigheter, beroende på den specifika uppgiften:
- Om du vill skapa ett objekt som kan skydda externa metadata i Unity Catalog måste du ha behörigheten
CREATE EXTERNAL METADATAför metaarkivet. - Om du vill ange ursprungsrelationer mellan ett externt metadataobjekt och andra Unity Catalog-objekt måste du ha behörigheten
MODIFYför det externa metadataobjektet. - Om du vill ange en underordnad ursprungsrelation till ett Unity Catalog-objekt måste du ha läsbehörighet för objektet (till exempel
SELECTi en tabell). - Om du vill ange en överordnad ursprungsrelation till ett Unity Catalog-objekt måste du ha skrivbehörighet för objektet (till exempel
MODIFYi en tabell).
Lägga till externa ursprungsmetadata
Så här lägger du till externa härkomstmetadata:
Skapa ett objekt som kan skydda externa metadata i Unity Catalog.
Det här objektet representerar en entitet i ett externt system, till exempel en instrumentpanel i Tableau.
Konfigurera en ursprungsrelation mellan det externa metadataobjektet och ett annat Unity Catalog-objekt, till exempel en tabell, modell, sökväg eller ett annat externt metadataobjekt.
När du har skapat ursprungsrelationer visas det externa metadataobjektet i linjediagramvyn.
Du kan skapa externa metadataobjekt och konfigurera ursprungsrelationer med hjälp av katalogutforskarens användargränssnitt. Om du vill börja från ett befintligt ursprungsdiagram klickar du på Skapa extern härkomst i det övre högra hörnet av diagrammet. Du kan också börja från avsnittet Externa data i Katalogutforskaren enligt beskrivningen i följande avsnitt.
Skapa ett externt metadataobjekt
Du kan skapa ett externt metadataobjekt med Catalog Explorer, External Metadata API eller Databricks SDK för Python.
Så här använder du Catalog Explorer för att skapa ett externt metadataobjekt:
På din Azure Databricks-arbetsyta klickar du på
Katalog.
Klicka på knappen Externa data > , gå till fliken Externa metadata och klicka på Skapa externa metadata.
Ange metadatainformationen.
Krävs:
- Namn: Ange ett mänskligt läsbart namn som hjälper Azure Databricks-användare att förstå vad de ser i datahärkomsten. Externa metadataobjekt är skyddsbara objekt i Unity Catalog, så namnet måste följa namngivningsreglerna för Unity Catalog-objekt. Se Namngivningskrav för skyddsbara objekt.
- Systemtyp: Välj i listan över vanliga externa data och BI-system. Om du inte hittar din väljer du Anpassad.
- Entitetstyp: Ange typ av objekt, till exempel "tabell" eller "instrumentpanel".
Valfritt:
- URL: Ange webbadressen för objektet om du vill att visningsprogram för ursprungsdiagram ska kunna klicka vidare till den externa tillgången (till exempel en Tableau-instrumentpanel).
- Beskrivning
Avancerad:
- Kolumner: Om du vill mappa på kolumnnivå från det här externa objektet till ett annat Unity Catalog-objekt anger du kolumnnamn. Välj Användargränssnitt för att ange ett i taget eller Textinmatning för att ange en kommaavgränsad lista i en enda textruta.
- Egenskaper: Om det finns andra egenskaper som du vill spåra i ursprunget anger du dem som ett JSON-nyckel/värde-par. Du kan använda användargränssnittet för att ange varje nyckel/värde-par eller ange ett fullständigt JSON-objekt .
Klicka på Skapa.
En dialogruta ger dig möjlighet att visa det externa metadataobjektet eller skapa ursprungsrelationer för objektet.
För att skapa ett externt metadataobjekt programmatiskt, använd Databricks SDK för Python eller REST API. Följande exempel skapar ett externt metadataobjekt som representerar en Salesforce-tabell.
Python SDK
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.catalog import ExternalMetadata, SystemType
w = WorkspaceClient()
external_metadata = w.external_metadata.create_external_metadata(
external_metadata=ExternalMetadata(
name="salesforce_accounts",
system_type=SystemType.SALESFORCE,
entity_type="table",
url="https://my-org.salesforce.com/lightning/o/Account/list",
description="Salesforce Account records ingested into Databricks.",
)
)
För hela listan över parametrar, se External Metadata API.
REST API
Ersätt <workspace-url> med url:en för arbetsytan. Detta exempel antar att miljövariabeln DATABRICKS_TOKEN sätts till en Databricks personlig åtkomsttoken.
curl -X POST \
https://<workspace-url>/api/2.0/lineage-tracking/external-metadata \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "salesforce_accounts",
"system_type": "SALESFORCE",
"entity_type": "table",
"url": "https://my-org.salesforce.com/lightning/o/Account/list",
"description": "Salesforce Account records ingested into Databricks."
}'
För hela listan över förfrågningsfält, se External Metadata API.
Skapa ursprungsrelationer
Du kan skapa ursprungsrelationer med hjälp av Catalog Explorer, API för extern ursprung eller Databricks SDK för Python.
Så här lägger du till relationer mellan ett externt metadataobjekt och andra Unity Catalog-objekt:
Följ anvisningarna ovan eller leta reda på det befintliga externa metadataobjektet i Katalogutforskaren:
- Klicka på
Katalog
- Klicka på knappen Externa data >
- Gå till fliken Externa metadata och välj det externa metadataobjektet.
- Klicka på
Klicka på Skapa ursprungsrelation.
Välj om du vill skapa en uppströms- eller nedströmsrelation.
Ange den objekttyp som du vill skapa relationen till:
- Tabell: Välj tabellen med hjälp av sökdialogrutan.
- Modell: Välj modellen med hjälp av sökdialogrutan och välj sedan modellversionen.
- Sökväg: Ange sökvägen för volymer eller externa platser.
- Externa metadata: Välj det externa metadataobjektet i den nedrullningsbara menyn.
(Valfritt) Klicka på Avancerat för att lägga till:
- Kolumnmappningar mellan det externa metadataobjektet och käll- eller målobjektet.
- Andra metadata som JSON-nyckel/värde-par. Du kan till exempel använda dessa för att ange texten i frågan som skapade en tabell från det externa metadataobjektet eller anteckningar som förklarar det externa arbetsflödet som genererade relationen.
Klicka på Skapa.
Nu kan du se den externa ursprungsrelationen på fliken Ursprung för de relaterade objekten.
För att skapa en linjerelation programmatiskt, använd Databricks SDK för Python eller REST API:et. Ange objekten target och source, där varje objekt är en Unity Catalog-tabell, en sökväg, en modellversion eller ett externt metadataobjekt. Följande exempel skapar en relation från en Unity-katalogtabell till det salesforce_accounts externa metadataobjektet, där tabellens id kolumn mappas till den externa objektets kolumn.external_id
Python SDK
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.catalog import (
CreateRequestExternalLineage,
ExternalLineageObject,
ExternalLineageTable,
ExternalLineageExternalMetadata,
ColumnRelationship,
)
w = WorkspaceClient()
relationship = w.external_lineage.create_external_lineage_relationship(
external_lineage_relationship=CreateRequestExternalLineage(
source=ExternalLineageObject(
table=ExternalLineageTable(name="main.sales.accounts")
),
target=ExternalLineageObject(
external_metadata=ExternalLineageExternalMetadata(
name="salesforce_accounts"
)
),
columns=[ColumnRelationship(source="id", target="external_id")],
)
)
För hela listan över parametrar, se External Lineage API.
REST API
Ersätt <workspace-url> med url:en för arbetsytan. Detta exempel antar att miljövariabeln DATABRICKS_TOKEN sätts till en Databricks personlig åtkomsttoken.
curl -X POST \
https://<workspace-url>/api/2.0/lineage-tracking/external-lineage \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source": { "table": { "name": "main.sales.accounts" } },
"target": { "external_metadata": { "name": "salesforce_accounts" } },
"columns": [{ "source": "id", "target": "external_id" }]
}'
För hela listan över förfrågningsfält, se External Lineage API.
Modellera externa ursprungsrelationer
När du lägger till extern härkomst manuellt använder du följande mönster för att modellera mer komplexa relationer:
- Anslut två Unity Catalog-tabeller: Om du vill ange en ursprungsrelation mellan två tabeller som båda är registrerade i Unity Catalog skapar du ett externt metadataobjekt som finns mellan dem. Ange en tabell som uppströms till det externa metadataobjektet och den andra som nedströms så att de visas anslutna i ursprungsdiagrammet.
- Lägg till flera nivåer av ursprung: Om du vill kommentera data som passerar genom flera system innan de går in i Azure Databricks skapar du flera externa metadataobjekt och konfigurerar externa ursprungsrelationer mellan var och en av dem.
- Lägg till ursprung på kolumnnivå: Ange kolumnnamn när du skapar det externa metadataobjektet och mappa sedan käll- och målkolumnerna när du konfigurerar ursprungsrelationen.
Limitations
- Extern härkomst registreras inte i ursprungssystemets tabeller (
system.access.table_lineageochsystem.access.column_lineage). - Du kan skapa upp till 10 000 externa metadataobjekt och 100 000 externa ursprungsrelationer per metaarkiv. Se Resursbegränsningar.