Ingerir dados do Google Workspace
Beta
Esse recurso está em Beta. Para usá-lo, o administrador do workspace deve ativar o Lakeflow Connect for Google Workspace na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.
Crie um pipeline de ingestão gerenciado do Google Workspace no Lakeflow Connect.
Requisitos
-
Para criar um pipeline de ingestão, primeiro atenda aos seguintes requisitos:
-
Seu workspace deve estar habilitado para o Unity Catalog.
-
O compute Serverless deve estar habilitado para seu workspace. Consulte Requisitos de compute Serverless.
-
Para criar uma nova conexão, você deve ter os privilégios
CREATE CONNECTIONno metastore. Consulte Gerenciar privilégios no Unity Catalog.If the connector supports UI-based pipeline authoring, an admin can create the connection and the pipeline at the same time by completing os passos on this page. However, if the users who create pipelines use API-based pipeline authoring or are non-admin users, an admin must first create the connection in Catalog Explorer. See Connect to managed ingestion sources.
-
Para usar uma conexão existente, você deve ter os privilégios
USE CONNECTIONouALL PRIVILEGESno objeto de conexão. -
Você deve ter privilégios
USE CATALOGno catálogo de destino. -
Você deve ter os privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou privilégiosCREATE SCHEMAno catálogo de destino.
-
-
Para fazer a ingestão do Google Workspace, primeiro configure a autenticação no Databricks e crie uma conexão. Consulte Configurar a autenticação para o Google Workspace e Criar uma conexão com o Google Workspace.
Criar um pipeline de ingestão
For the list of supported source tables, see Supported source tables.
- Databricks UI
- Declarative Automation Bundles
- Databricks notebook
- Na barra lateral do workspace do Databricks, clique em Ingestão de dados .
- On the Add data page, under Databricks connectors , click Google Workspace .
- Na página Connection , selecione a conexão que armazena suas credenciais do Google Workspace.
- Para criar uma conexão, clique em
Criar conexão e insira as credenciais de Configurar autenticação para o Google Workspace.
- Clique em Avançar .
- On the Ingestion setup page, enter a name for the pipeline.
- Select a catalog and schema for the event logs.
- Clique em Criar pipeline e continuar .
- Na página Origem , selecione as tabelas para ingestão.
- Clique em Salvar e continuar .
- Na página Destination , selecione um catálogo e um esquema para as tabelas de destino.
- Clique em Salvar e continuar .
- (Opcional) Na página Programar e notificações , crie um programar e notificações.
- Clique em Save and execução pipeline .
Use os Pacotes de Automação Declarativa para gerenciar pipelines do Google Workspace como código. Para obter mais informações, consulte O que são os Pacotes de Automação Declarativa?.
-
Crie um pacote usando a CLI do Databricks:
Bashdatabricks bundle init -
Adicione um arquivo de definição de pipeline, como
resources/google_workspace_pipeline.yml. Veja pipeline.ingestion_definition e Exemplos. -
Adicione um arquivo de definição de job, como
resources/google_workspace_job.yml. -
Implantar o pipeline:
Bashdatabricks bundle deploy
- Import the following notebook into your Databricks workspace:
-
Leave cells one and two as they are. Do not modify.
-
Modifique a terceira célula com os detalhes de configuração do seu pipeline. Consulte pipeline.ingestion_definition e Exemplos.
-
Configure opcionalmente as configurações avançadas de pipeline. Consulte Padrões comuns para pipelines de ingestão gerenciados.
-
Clique em Executar tudo .
Examples
O conector do Google Workspace disponibiliza 35 tabelas de origem no esquema de origem default, uma para cada aplicativo do Google Workspace. Ingira tabelas individuais ou as tabelas necessárias.
Ingest specific tables
- Declarative Automation Bundles
- Databricks notebook
O seguinte arquivo de definição de pipeline ingere as tabelas gmail e 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'
A seguinte especificação de pipeline ingere as tabelas gmail e 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)
Arquivo de definição de job de Declarative Automation Bundles
The following example Job definition tem execução diária.
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}
Padrões comuns
Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.
Passos seguintes
Comece, programe e defina alertas no seu pipeline. Consulte Tarefas comuns de manutenção de pipeline.