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.
Viktigt!
Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.
Den här sidan visar hur du skapar en hanterad GitHub inmatningspipeline med Databricks Lakeflow Connect.
Requirements
Om du vill skapa en inmatningspipeline måste du först uppfylla följande krav:
Arbetsytan måste vara aktiverad för Unity Catalog.
Serverlös beräkning måste vara aktiverad för din arbetsyta. Se Krav för serverlös beräkning.
Om du vill skapa en ny anslutning måste du ha
CREATE CONNECTIONbehörighet för metaarkivet. Se avsnitt Hantera privilegier i Unity Catalog.Om anslutningsappen stöder UI-baserad pipelineredigering kan en administratör skapa anslutningen och pipelinen samtidigt genom att slutföra stegen på den här sidan. Men om de användare som skapar pipelines använder API-baserad pipelineredigering eller inte är administratörsanvändare, måste en administratör först skapa anslutningen i Catalog Explorer. Se Anslut till hanterade inmatningskällor.
Om du vill använda en befintlig anslutning måste du ha
USE CONNECTIONbehörigheter ellerALL PRIVILEGESpå anslutningsobjektet.Du måste ha
USE CATALOGbehörigheter i målkatalogen.Du måste ha
USE SCHEMAochCREATE TABLEbehörigheter för ett befintligt schema ellerCREATE SCHEMAbehörigheter i målkatalogen.
Om du vill mata in från GitHub måste du först slutföra stegen i Skapa en GitHub anslutning.
Skapa en inmatningspipeline
Varje källtabell matas in i en strömmande tabell. En lista över källtabeller som stöds finns i Data som stöds.
Databricks-användargränssnitt
- I sidofältet på Azure Databricks-arbetsytan klickar du på Datainmatning.
- På sidan Lägg till data under Databricks-anslutningsappar klickar du på GitHub.
- På sidan Connection i inmatningsguiden väljer du den anslutning som lagrar dina GitHub åtkomstautentiseringsuppgifter. Om du har behörigheten
CREATE CONNECTIONi metaarkivet, du kan klicka påSkapa anslutning för att skapa en ny anslutning med autentiseringsinformationen i Skapa en GitHub anslutning.
- Klicka på Nästa.
- På installationssidan för inmatning anger du ett unikt namn för pipelinen.
- Välj en katalog och ett schema att skriva händelseloggar till. Om du har
USE CATALOGochCREATE SCHEMAbehörigheter i katalogen kan du klicka påSkapa ett schema i den nedrullningsbara menyn för att skapa ett nytt schema.
- Klicka på Skapa pipeline och fortsätt.
- På sidan Källa väljer du de tabeller som ska matas in.
- Klicka på Spara och fortsätt.
- På sidan Mål väljer du en katalog och ett schema att läsa in data i. Om du har
USE CATALOGochCREATE SCHEMAbehörigheter i katalogen kan du klicka påSkapa ett schema i den nedrullningsbara menyn för att skapa ett nytt schema.
- Klicka på Spara och fortsätt.
- (Valfritt) På sidan Scheman och meddelanden klickar du på
Skapa schema. Ange frekvensen för att uppdatera måltabellerna.
- (Valfritt) Klicka på
Lägg till meddelande för att ange e-postaviseringar för lyckade eller misslyckade pipelineåtgärder och klicka sedan på Spara och kör pipeline.
Deklarativa automationspaket
Använd deklarativa automatiseringspaket för att hantera GitHub pipelines som kod. Paket kan innehålla YAML-definitioner av jobb och uppgifter, hanteras med Databricks CLI och kan delas och köras på olika målarbetsytor (till exempel utveckling, mellanlagring och produktion). Mer information finns i Vad är deklarativa automatiseringspaket?.
Skapa ett nytt paket med Databricks CLI:
databricks bundle initLägg till två nya resursfiler i paketet:
- En pipelinedefinitionsfil (till exempel
resources/github_pipeline.yml). Se pipeline.ingestion_definition och exempel. - En jobbdefinitionsfil som styr datainmatningsfrekvensen (till exempel
resources/github_job.yml).
- En pipelinedefinitionsfil (till exempel
Distribuera pipelinen med Databricks CLI:
databricks bundle deploy
Databricks-anteckningsbok
Importera följande notebook-fil till din Azure Databricks-arbetsyta:
Lämna cell ett oförändrad.
Ändra cell tre med information om pipelinekonfigurationen. Se pipeline.ingestion_definition och exempel.
Klicka på Kör alla.
Exempel
Använd de här exemplen för att konfigurera din pipeline. Fältet source_schema anger det GitHub organisationsnamn som ska matas in från. Namnet destination_table är valfritt – om du inte anger något använder anslutningsappen source_table namnet.
Mata in en tabell med en enda källa
Deklarativa automationspaket
Följande pipelinedefinitionsfil matar in en enda källtabell:
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema
# The main pipeline for github_dab
resources:
pipelines:
pipeline_github:
name: github_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <github-connection>
objects:
# An array of objects to ingest from GitHub. This example ingests the repositories table.
- table:
source_schema: <your_org_name>
source_table: repositories
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
Databricks-anteckningsbok
Följande är ett exempel på en pipelinespecifikation som matar in en enda källtabell:
pipeline_spec = """
{
"name": "<pipeline-name>",
"ingestion_definition": {
"connection_name": "<github-connection>",
"objects": [
{
"table": {
"source_schema": "<your_org_name>",
"source_table": "repositories",
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema"
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)
Mata in flera källtabeller
Deklarativa automationspaket
Följande pipelinedefinitionsfil matar in flera källtabeller:
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema
# The main pipeline for github_dab
resources:
pipelines:
pipeline_github:
name: github_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <github-connection>
objects:
# An array of objects to ingest from GitHub. This example ingests the repositories and pull_requests tables.
- table:
source_schema: <your_org_name>
source_table: repositories
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
- table:
source_schema: <your_org_name>
source_table: pull_requests
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
Databricks-anteckningsbok
Följande är ett exempel på en pipelinespecifikation som matar in flera källtabeller:
pipeline_spec = """
{
"name": "<pipeline-name>",
"ingestion_definition": {
"connection_name": "<github-connection>",
"objects": [
{
"table": {
"source_schema": "<your_org_name>",
"source_table": "repositories",
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema"
}
},
{
"table": {
"source_schema": "<your_org_name>",
"source_table": "pull_requests",
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema"
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)
Paketjobbsdefinitionsfil
Följande är ett exempel på en jobbdefinitionsfil som ska användas med deklarativa Automation-paket. Jobbet körs varje dag, precis 24 timmar efter den senaste körningen.
resources:
jobs:
github_dab_job:
name: github_dab_job
trigger:
periodic:
interval: 1
unit: DAYS
email_notifications:
on_failure:
- <email-address>
tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.pipeline_github.id}
Vanliga mönster
För avancerade pipelinekonfigurationer, se Vanliga mönster för hanterade inmatningspipelines.
Nästa steg
Starta, schemalägga och ange aviseringar för din pipeline. Se Vanliga pipelineunderhållsuppgifter.