Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
Deze functie bevindt zich in de bètaversie. Werkruimtebeheerders kunnen de toegang tot deze functie beheren vanaf de pagina Previews . Zie Azure Databricks previews beheren.
Op deze pagina ziet u hoe u een beheerde GitHub opnamepijplijn maakt met behulp van Databricks Lakeflow Connect.
Requirements
Als u een opnamepijplijn wilt maken, moet u eerst voldoen aan de volgende vereisten:
Uw werkruimte moet zijn ingeschakeld voor Unity Catalog.
Voor uw werkruimte moet serverloze rekenkracht ingeschakeld zijn. Zie serverloze rekenvereisten.
Als u een nieuwe verbinding wilt maken, moet u bevoegdheden hebben
CREATE CONNECTIONvoor de metastore. Zie Beheer van bevoegdheden in Unity Catalog.Als de connector het ontwerpen van pijplijnen op basis van de gebruikersinterface ondersteunt, kan een beheerder de verbinding en de pijplijn tegelijkertijd maken door de stappen op deze pagina uit te voeren. Als de gebruikers die pijplijnen maken echter gebruikmaken van op API gebaseerde pijplijncreatie of niet-beheerders zijn, moet een beheerder eerst de verbinding maken in Catalog Explorer. Zie Verbinding maken met beheerde opnamebronnen.
Als u een bestaande verbinding wilt gebruiken, moet u bevoegdheden hebben
USE CONNECTIONofALL PRIVILEGESvoor het verbindingsobject.Je moet
USE CATALOGrechten op de doelcatalogus hebben.U moet
USE SCHEMAenCREATE TABLEbevoegdheden hebben voor een bestaand schema ofCREATE SCHEMAbevoegdheden voor de doelcatalogus.
Als u gegevens uit GitHub wilt opnemen, moet u eerst de stappen onder Een GitHub-verbinding maken voltooien.
Een opnamepijplijn maken
Elke brontabel wordt opgenomen in een streamingtabel. Zie Ondersteunde gegevens voor een lijst met ondersteunde brontabellen.
Databricks-gebruikersinterface
- Klik in de zijbalk van de Azure Databricks-werkruimte op Gegevensopname.
- Klik op de pagina Toevoegingsgegevens onder Databricks-connectors op GitHub.
- Selecteer op de pagina Connection van de opnamewizard de verbinding waarin uw GitHub toegangsreferenties worden opgeslagen. Als u de bevoegdheid
CREATE CONNECTIONin de metastore hebt, u kunt klikken opVerbinding maken om een nieuwe verbinding te maken met de verificatiedetails in Maak een GitHub-verbinding.
- Klik op Volgende.
- Voer op de pagina Invoerconfiguratie een unieke naam in voor de pijplijn.
- Selecteer een catalogus en een schema om gebeurtenislogboeken naar te schrijven. Als u de bevoegdheden
USE CATALOGenCREATE SCHEMAop de catalogus hebt, kunt u opSchema maken in de vervolgkeuzelijst om een nieuw schema te maken.
- Klik op Pijplijn maken en ga door.
- Selecteer op de pagina Bron de tabellen die u wilt opnemen.
- Klik op Opslaan en doorgaan.
- Selecteer op de doelpagina een catalogus en een schema om gegevens in te laden. Als u de bevoegdheden
USE CATALOGenCREATE SCHEMAop de catalogus hebt, kunt u opSchema maken in de vervolgkeuzelijst om een nieuw schema te maken.
- Klik op Opslaan en doorgaan.
- (Optioneel) Klik op de pagina Planningen en meldingen op
Maak een planning. Stel de frequentie in om de doeltabellen te vernieuwen.
- (Optioneel) Klik op
Voeg een melding toe om e-mailmeldingen in te stellen voor geslaagde of mislukte pijplijnen en klik vervolgens op Opslaan en pijplijn uitvoeren.
Declaratieve automatiseringsbundels
Gebruik declaratieve automationbundels om GitHub-pipelines als code te beheren. Bundels kunnen YAML-definities van taken en taken bevatten, worden beheerd met behulp van de Databricks CLI en kunnen worden gedeeld en uitgevoerd in verschillende doelwerkruimten (zoals ontwikkeling, fasering en productie). Zie Wat zijn declaratieve Automation-bundels? voor meer informatie.
Maak een nieuwe bundel met behulp van de Databricks CLI:
databricks bundle initVoeg twee nieuwe resourcebestanden toe aan de bundel:
- Een pijplijndefinitiebestand (bijvoorbeeld
resources/github_pipeline.yml). Zie pipeline.ingestion_definition en voorbeelden. - Een taakdefinitiebestand dat de frequentie van gegevensopname bepaalt (bijvoorbeeld
resources/github_job.yml).
- Een pijplijndefinitiebestand (bijvoorbeeld
Implementeer de pijplijn met behulp van de Databricks CLI:
databricks bundle deploy
Databricks Notebook
Importeer het volgende notebook in uw Azure Databricks-werkruimte:
Laat cel één ongewijzigd.
Wijzig cel drie met de configuratiegegevens van uw pijplijn. Zie pipeline.ingestion_definition en voorbeelden.
Klik op Alleuitvoeren.
Examples
Gebruik deze voorbeelden om uw pijplijn te configureren. Het veld source_schema specificeert de naam van de GitHub-organisatie waaruit gegevens worden opgenomen. De naam destination_table is optioneel — als u er geen opgeeft, gebruikt de connector de naam source_table.
Eén brontabel opnemen
Declaratieve automatiseringsbundels
In het volgende pijplijndefinitiebestand wordt één brontabel opgenomen:
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 Notebook
Hier volgt een voorbeeld van een pijplijnspecificatie die één brontabel opneemt:
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)
Meerdere brontabellen opnemen
Declaratieve automatiseringsbundels
Het volgende pijplijndefinitiebestand neemt meerdere brontabellen op:
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 Notebook
Hier volgt een voorbeeld van een pijplijnspecificatie die meerdere brontabellen opneemt:
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)
Taakdefinitiebestand bundelen
Hier volgt een voorbeeld van een taakdefinitiebestand dat moet worden gebruikt met declaratieve Automation-bundels. De taak wordt elke dag uitgevoerd, precies één dag vanaf de laatste uitvoering.
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}
Algemene patronen
Zie Algemene patronen voor beheerde opnamepijplijnen voor geavanceerde pijplijnconfiguraties.
Volgende stappen
Start, plan en stel waarschuwingen in voor uw pijplijn. Zie Algemene onderhoudstaken voor pijplijnen.