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.
Informazioni su come creare una pipeline di inserimento gestito per inserire dati da Google Ads in Azure Databricks.
Requisiti
Per creare una pipeline di raccolta, è necessario soddisfare i seguenti requisiti.
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.
Se hai intenzione di creare una nuova connessione: devi avere
CREATE CONNECTIONi privilegi sul 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.
Se prevedi di utilizzare una connessione esistente, devi avere privilegi
USE CONNECTIONsull'oggetto connessione oALL PRIVILEGES.È 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 Google Ads, è necessario completare la procedura descritta in Configurare OAuth per l'inserimento di Google Ads.
Creare un flusso di inserimento dati
Pacchetti di automazione dichiarativa
Questa scheda descrive come distribuire una pipeline di inserimento usando bundle di automazione dichiarativa. 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 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/google_ads_pipeline.yml. - File di definizione del processo che controlla la frequenza di inserimento dei dati , ad esempio
resources/google_ads_job.yml.
Vedere pipeline.ingestion_definition ed esempi.
- 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'è.
Modifica la cella due o tre con i dettagli di configurazione della pipeline, a seconda del tuo caso d'uso. Vedere pipeline.ingestion_definition ed esempi.
Fare clic su Esegui tutto.
Examples
Pacchetti di automazione dichiarativa
L'opzione manager_account_id non è supportata nei bundle di automazione dichiarativa. Per configurare un ID account manager, usare invece un notebook Azure Databricks.
Il file di definizione della pipeline seguente inserisce tutte le tabelle correnti e future da un account:
resources:
pipelines:
pipeline_google_ads:
name: <pipeline-name>
catalog: <destination-catalog>
target: <destination-schema>
ingestion_definition:
connection_name: <connection-name>
objects:
- schema:
source_schema: <account-id>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
connector_options:
google_ads_options:
lookback_window_days: <lookback-window-days>
sync_start_date: <sync-start-date>
Il file di definizione della pipeline seguente seleziona tabelle specifiche da un account per l'inserimento:
resources:
pipelines:
pipeline_google_ads:
name: <pipeline-name>
catalog: <destination-catalog>
target: <destination-schema>
ingestion_definition:
connection_name: <connection-name>
objects:
- table:
source_schema: <customer-account-id>
source_table: <table1>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
destination_table: <destination-table>
connector_options:
google_ads_options:
lookback_window_days: <lookback-window-days>
sync_start_date: <sync-start-date>
- table:
source_schema: <customer-account-id>
source_table: table2
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
destination_table: <destination-table>
connector_options:
google_ads_options:
lookback_window_days: <lookback-window-days>
sync_start_date: <sync-start-date>
Di seguito è riportato un file di definizione di job di esempio:
resources:
jobs:
google_ads_dab_job:
name: google_ads_dab_job
trigger:
# Run this job every day, exactly one day from the last run
# See https://docs.databricks.com/api/workspace/jobs/create#trigger
periodic:
interval: 1
unit: DAYS
email_notifications:
on_failure:
- <email-address>
tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: <pipeline-id>
Notebook di Databricks
La specifica della pipeline seguente inserisce tutte le tabelle correnti e future da un solo account.
pipeline_spec = {
"name": "<pipeline-name>",
"catalog": "<destination-catalog>",
"schema": "<destination-schema>",
"ingestion_definition": {
"connection_name": "<connection-name>",
"objects": [
{
"schema": {
"source_schema": "<account-id>",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"connector_options": {
"google_ads_options": {
"manager_account_id": "<manager-account-id>",
"lookback_window_days": "<lookback-window-days>",
"sync_start_date": "<sync-start-date>"
}
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
La specifica della pipeline seguente seleziona tabelle specifiche da un account per l'inserimento:
pipeline_spec = {
"name": "<pipeline-name>",
"catalog": "<destination-catalog>",
"schema": "<destination-schema>",
"ingestion_definition": {
"connection_name": "<connection-name>",
"objects": [
{
"table": {
"source_schema": "<customer-account-id>",
"source_table": "<table1>",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"destination_table": "<destination-table>",
"connector_options": {
"google_ads_options": {
"manager_account_id": "<manager-account-id>",
"lookback_window_days": "<lookback-window-days>",
"sync_start_date": "<sync-start-date>"
}
}
}
},
{
"table": {
"source_schema": "<customer-account-id>",
"source_table": "<table2>",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"destination_table": "<destination-table>",
"connector_options": {
"google_ads_options": {
"manager_account_id": "<manager-account-id>",
"lookback_window_days": "<lookback-window-days>",
"sync_start_date": "<sync-start-date>"
}
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
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.