Ingérer des données depuis Google Workspace
Beta
Cette fonction est en bêta. Pour l’utiliser, un administrateur du workspace doit activer Lakeflow Connect for Google Workspace depuis la page Previews . Consultez Gérer les aperçus Databricks.
Créer un pipeline d'ingestion Google Workspace géré dans Lakeflow Connect.
Prérequis
-
Pour créer un pipeline d'ingestion, remplissez d'abord les conditions suivantes :
-
Votre workspace doit être activé pour Unity Catalog.
-
Le compute serverless doit être activé pour votre workspace. Voir les exigences du compute serverless.
-
Pour créer une connexion, vous devez disposer des privilèges
CREATE CONNECTIONsur le métastore. Consultez Gérer les privilèges dans Unity Catalog.Si le connecteur prend en charge la création de pipelines basée sur l’interface utilisateur, un administrateur peut créer la connexion et le pipeline en même temps en suivant les étapes de cette page. Toutefois, si les utilisateurs qui créent des pipelines utilisent la création de pipelines par API ou ne sont pas des administrateurs, un administrateur doit d'abord créer la connexion dans Catalog Explorer. See Connect to managed ingestion sources.
-
Pour utiliser une connexion existante, vous devez disposer des privilèges
USE CONNECTIONou deALL PRIVILEGESsur l’objet de connexion. -
Vous devez disposer des privilèges
USE CATALOGsur le catalogue cible. -
Vous devez disposer des privilèges
USE SCHEMAetCREATE TABLEsur un schéma existant ou des privilègesCREATE SCHEMAsur le catalogue cible.
-
-
Pour procéder à l’ingestion à partir de Google Workspace, configurez d’abord l’authentification depuis Databricks et créez une connexion. Consultez Configurer l’authentification pour Google Workspace et Créer une connexion Google Workspace.
Créer un pipeline d’ingestion
Pour obtenir la liste des tables sources prises en charge, consultez la page Tables sources prises en charge.
- Databricks UI
- Declarative Automation Bundles
- Databricks notebook
- Dans la barre latérale du workspace Databricks, cliquez sur Data Ingestion .
- Sur la page Add data , sous Databricks connectors , cliquez sur Google Workspace .
- Sur la page Connection , sélectionnez la connexion qui stocke vos identifiants Google Workspace.
- Pour créer une connexion, cliquez sur
Créer une connexion et saisissez les identifiants depuis Configurer l'authentification pour Google Workspace.
- Cliquez sur Suivant .
- Sur la page Ingestion setup , saisissez un nom pour le pipeline.
- Select a catalog and schema for the event logs.
- Cliquez sur Créer un pipeline et continuer .
- On the Source page, select the tables to ingest.
- Cliquez sur Enregistrer et continuer .
- Sur la page Destination , sélectionnez un catalogue et un schéma pour les tables de destination.
- Cliquez sur Enregistrer et continuer .
- (Facultatif) Sur la page Calendriers et notifications , créez un calendrier et des notifications.
- Cliquez sur Save and run pipeline .
Utilisez les Declarative Automation Bundles pour gérer les pipelines Google Workspace en tant que code. Pour plus d'informations, consultez Que sont les Declarative Automation Bundles ?.
-
Créez un bundle à l’aide de la CLI Databricks :
Bashdatabricks bundle init -
Ajoutez un fichier de définition de pipeline, tel que
resources/google_workspace_pipeline.yml. Voir pipeline.ingestion_definition et les exemples. -
Ajoutez un fichier de définition de job, tel que
resources/google_workspace_job.yml. -
Déployez le pipeline :
Bashdatabricks bundle deploy
- Import the following notebook into your Databricks workspace:
-
Laissez les cellules un et deux telles quelles. Ne pas modifier.
-
Modifiez la troisième cellule avec les détails de configuration de votre pipeline. Voir pipeline.ingestion_definition et Exemples.
-
Configurez éventuellement les paramètres avancés du pipeline. Consultez Common patterns for managed ingestion pipelines.
-
Cliquez sur Tout exécuter .
Exemples
Le connecteur Google Workspace met à disposition 35 tables sources dans le schéma source default, une pour chaque application Google Workspace. Ingérez des tables individuelles ou les tables dont vous avez besoin.
Ingest specific tables
- Declarative Automation Bundles
- Databricks notebook
Le fichier de définition de pipeline suivant ingère les tables gmail et login :
resources:
pipelines:
google_workspace_pipeline:
name: google_workspace_pipeline
catalog: 'main'
target: 'google_workspace_data'
ingestion_definition:
connection_name: google_workspace_connection
objects:
- table:
source_schema: 'default'
source_table: 'gmail'
destination_catalog: 'main'
destination_schema: 'google_workspace_data'
destination_table: 'gmail'
- table:
source_schema: 'default'
source_table: 'login'
destination_catalog: 'main'
destination_schema: 'google_workspace_data'
destination_table: 'login'
La spécification de pipeline suivante ingère les tables gmail et login :
pipeline_name = "google_workspace_pipeline"
connection_name = "<google-workspace-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "gmail",
"destination_catalog": "main",
"destination_schema": "google_workspace_data",
"destination_table": "gmail"
}
},
{
"table": {
"source_schema": "default",
"source_table": "login",
"destination_catalog": "main",
"destination_schema": "google_workspace_data",
"destination_table": "login"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Fichier de définition de job Declarative Automation Bundles
The following example job definition runs daily.
resources:
jobs:
google_workspace_job:
name: google_workspace_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: google_workspace_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.google_workspace_pipeline.id}
Modèles courants
Pour les configurations de pipeline avancées, voir Common patterns for managed ingestion pipelines.
Étapes suivantes
start, planifiez et configurez des alertes sur votre pipeline. Consultez Common pipeline maintenance tasks.