Ingerir dados do Google Workspace
Beta
Este recurso está em Beta. Workspace admins can control access to this recurso from the Previews page. See Gerenciar Databricks previews.
Esta página mostra como criar um pipeline de ingestão de dados do Google Workspace gerenciado usando o 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
O conector do Google Workspace ingere 33 tabelas de origem, uma para cada aplicativo de atividade do Google Workspace, sob o esquema de origem default. Para obter detalhes, consulte Tabelas de origem compatíveis.
- 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 do assistente de ingestão, selecione a conexão que armazena suas credenciais do Google Workspace. Se você tiver o privilégio
CREATE CONNECTIONno metastore, clique emCreate connection para criar uma conexão com as credenciais de Configurar a autenticação para o Google Workspace.
- Clique em Avançar .
- On the Ingestion setup page, enter a name for the pipeline.
- Selecione um catálogo e um esquema para gravar os logs de eventos. Se você tiver os privilégios
USE CATALOGeCREATE SCHEMAno catálogo, clique emCriar esquema no menu suspenso para criar um esquema.
- Clique em Criar pipeline e continuar .
- Na página Source , selecione uma ou mais tabelas de aplicativos de atividades para fazer a ingestão (por exemplo,
calendar,chat,admin). A interface do usuário lista 30 aplicativos; para fazer a ingestão delogin,groupsougroups_enterprise, use a opção Declarative Automation Bundles ou Databricks notebook . - Clique em Salvar e continuar .
- On the Destination page, select a catalog and a schema to load data into. If you have
USE CATALOGandCREATE SCHEMAprivileges on the catalog, clickCreate schema in the drop-down menu to create a schema.
- Clique em Salvar e continuar .
- (Optional) On the Schedules and notifications page, click
Create schedule . Set the frequency to refresh the destination tables.
- (Opcional) Clique em
Adicionar notificação para definir notificações por e-mail para o sucesso ou falha da operação do pipeline e clique em Salvar e executar o pipeline .
Use os Pacotes de Automação Declarativa para gerenciar pipelines do Google Workspace como código. Os pacotes podem conter definições YAML de jobs e tarefas, são gerenciados usando a CLI do Databricks e podem ser compartilhados e ter execução em diferentes workspaces de destino (como desenvolvimento, staging e produção). 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 -
Add two new resource files to the bundle:
- Um arquivo de definição de pipeline (por exemplo,
resources/google_workspace_pipeline.yml). Consulte pipeline.ingestion_definition e Exemplos. - Um arquivo de definição de job que controla a frequência da ingestão de dados (por exemplo,
resources/google_workspace_job.yml).
- Um arquivo de definição de pipeline (por exemplo,
-
Implantar o pipeline usando a CLI do Databricks:
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 33 tabelas no esquema de origem default, uma para cada aplicativo de atividade. Para obter detalhes, consulte Supported source tables.
Tabelas de aplicativos de atividade de ingestão
- Declarative Automation Bundles
- Databricks notebook
O arquivo de definição de pipeline a seguir ingere tabelas de atividade do Google Workspace:
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: 'calendar'
destination_catalog: 'main'
destination_schema: 'google_workspace_data'
destination_table: 'calendar'
- table:
source_schema: 'default'
source_table: 'chat'
destination_catalog: 'main'
destination_schema: 'google_workspace_data'
destination_table: 'chat'
- table:
source_schema: 'default'
source_table: 'admin'
destination_catalog: 'main'
destination_schema: 'google_workspace_data'
destination_table: 'admin'
A seguinte especificação de pipeline ingere tabelas de atividade do Google Workspace:
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": "calendar",
"destination_catalog": "main",
"destination_schema": "google_workspace_data",
"destination_table": "calendar"
}
},
{
"table": {
"source_schema": "default",
"source_table": "chat",
"destination_catalog": "main",
"destination_schema": "google_workspace_data",
"destination_table": "chat"
}
},
{
"table": {
"source_schema": "default",
"source_table": "admin",
"destination_catalog": "main",
"destination_schema": "google_workspace_data",
"destination_table": "admin"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Arquivo de definição de job de Declarative Automation Bundles
A seguir, apresenta-se um exemplo de arquivo de definição de job para uso com os Pacotes de Automação Declarativa. O job é executado diariamente.
- Declarative Automation Bundles
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.