Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questa funzionalità è in versione beta. Gli amministratori dell'area di lavoro possono controllare l'accesso a questa funzionalità dalla pagina Anteprime . Vedere Gestire le anteprime di Azure Databricks.
Questa pagina illustra come creare una pipeline di inserimento GitHub gestita usando Databricks Lakeflow Connect.
Requirements
Per creare una pipeline di inserimento, è prima necessario soddisfare i requisiti seguenti:
L'area di lavoro deve essere abilitata per Unity Catalog.
L'ambiente di calcolo serverless deve essere abilitato per l'area di lavoro. Consulta Requisiti di calcolo serverless.
Per creare una nuova connessione, è necessario disporre di privilegi
CREATE CONNECTIONsul metastore. Consulta Gestione dei privilegi in Unity Catalog.Se il connettore supporta la creazione di pipeline basate sull'interfaccia utente, un amministratore può creare la connessione e la pipeline contemporaneamente completando i passaggi in questa pagina. Tuttavia, se gli utenti che creano pipeline utilizzano pipeline create tramite API o sono utenti non amministratori, un amministratore deve prima creare la connessione in Esplora Cataloghi. Vedere Connettersi alle origini di inserimento gestite.
Per usare una connessione esistente, è necessario disporre dei privilegi
USE CONNECTIONoALL PRIVILEGESsull'oggetto connessione.È necessario disporre dei privilegi
USE CATALOGsul catalogo di destinazione.È necessario disporre di privilegi
USE SCHEMAeCREATE TABLEsu uno schema esistente o di privilegiCREATE SCHEMAsul catalogo di destinazione.
Per inserire da GitHub, è necessario prima completare i passaggi descritti in Creare una connessione GitHub.
Creare un flusso di inserimento dati
Ogni tabella di origine viene inserita in una tabella di streaming. Per un elenco delle tabelle di origine supportate, vedere Dati supportati.
Interfaccia utente di Databricks
- Nella barra laterale dell'area di lavoro di Azure Databricks fare clic su Inserimento dati.
- Nella pagina Aggiungi dati, in Connettori Databricks, fare clic su GitHub.
- Nella pagina Connection della procedura guidata di inserimento selezionare la connessione in cui sono archiviate le credenziali di accesso GitHub. Se si dispone del privilegio
CREATE CONNECTIONnel metastore, È possibile fare clic suCrea connessione per creare una nuova connessione con i dettagli di autenticazione in Creare una connessione GitHub.
- Fare clic su Avanti.
- Nella pagina Configurazione inserimento inserisci un nome univoco per la pipeline.
- Selezionare un catalogo e uno schema in cui scrivere i registri eventi. Se si dispone di
USE CATALOGeCREATE SCHEMAprivilegi sul catalogo, è possibile fare clicCreare uno schema nel menu a discesa per creare un nuovo schema.
- Fare clic su Crea pipeline e continuare.
- Nella pagina Origine selezionare le tabelle da inserire.
- Fare clic su Salva e continua.
- Nella pagina Destinazione selezionare un catalogo e uno schema in cui caricare i dati. Se si dispone di
USE CATALOGeCREATE SCHEMAprivilegi sul catalogo, è possibile fare clicCreare uno schema nel menu a discesa per creare un nuovo schema.
- Fare clic su Salva e continua.
- (Facoltativo) Nella pagina Pianificazioni e notifiche fare clic
Creare una pianificazione. Impostare la frequenza per aggiornare le tabelle di destinazione.
- (Facoltativo) Fare clic
Aggiungere una notifica per impostare le notifiche di posta elettronica per l'esito positivo o negativo dell'operazione della pipeline, quindi fare clic su Salva ed esegui pipeline.
Pacchetti di automazione dichiarativa
Usa i Bundle di automazione dichiarativa per gestire le pipeline GitHub come codice. I bundle possono contenere definizioni YAML di processi e attività, vengono gestiti tramite l'interfaccia della riga di comando di Databricks e possono essere condivisi ed eseguiti in aree di lavoro di destinazione diverse, ad esempio sviluppo, gestione temporanea e produzione. Per altre informazioni, vedere Che cosa sono i bundle di automazione dichiarativa?.
Creare un nuovo bundle usando l'interfaccia della riga di comando di Databricks:
databricks bundle initAggiungere due nuovi file di risorse al bundle:
- Un file di definizione della pipeline , ad esempio
resources/github_pipeline.yml. Vedere pipeline.ingestion_definition ed esempi. - File di definizione del processo che controlla la frequenza di inserimento dei dati , ad esempio
resources/github_job.yml.
- Un file di definizione della pipeline , ad esempio
Distribuire la pipeline usando la CLI di Databricks.
databricks bundle deploy
Notebook di Databricks
Importare il notebook seguente nell'area di lavoro di Azure Databricks:
Lasciare la cella 1 così com'è.
Modificare la cella 3 con i dettagli della configurazione della pipeline. Vedere pipeline.ingestion_definition ed esempi.
Fare clic su Esegui tutto.
Examples
Usare questi esempi per configurare la pipeline. Il campo source_schema specifica il nome dell'organizzazione GitHub da cui inserire. Il destination_table nome è facoltativo. Se non ne viene specificato uno, il connettore usa il source_table nome.
Inserire una singola tabella di origine
Pacchetti di automazione dichiarativa
Il file di definizione della pipeline seguente inserisce una singola tabella di origine:
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}
Notebook di Databricks
Di seguito è riportata una specifica di pipeline di esempio che inserisce una singola tabella di origine:
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)
Inserire più tabelle di origine
Pacchetti di automazione dichiarativa
Il file di definizione della pipeline seguente inserisce più tabelle di origine:
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}
Notebook di Databricks
Di seguito è riportata una specifica di pipeline di esempio che inserisce più tabelle di origine:
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)
File di definizione dell'attività di raggruppamento
Di seguito è riportato un file di definizione del lavoro di esempio da usare con Bundle di Automazione Dichiarativa. L'attività viene eseguita ogni giorno, esattamente un giorno dopo l'ultima esecuzione.
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}
Modelli comuni
Per le configurazioni avanzate della pipeline, vedere Modelli comuni per le pipeline di inserimento gestite.
Passaggi successivi
Avvia, pianifica e imposta avvisi sulla tua pipeline. Vedere Attività comuni di manutenzione della pipeline.