Ingerir dados do Zoho CRM
Beta
Este recurso está em Beta. Para usá-lo, um administrador de workspace deve habilitar o Lakeflow Connect para Zoho CRM na página Previews . Consulte Gerenciar prévias do Databricks.
Esta página mostra como criar um pipeline de ingestão do Zoho CRM 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 precisa estar habilitado para o seu workspace. Consulte Requisitos de compute Serverless.
-
Para criar uma nova conexão, você deve ter privilégios
CREATE CONNECTIONno metastore. Consulte Gerenciar privilégios no Unity Catalog.Se o conector oferecer suporte à criação de pipeline baseada em interface do usuário, um administrador poderá criar a conexão e o pipeline ao mesmo tempo completando os passos nesta página. No entanto, se os usuários que criam pipelines usarem a criação de pipeline baseada em API ou forem usuários não administradores, um administrador deverá primeiro criar a conexão no Catalog Explorer. Consulte Conectar-se a fontes de ingestão gerenciadas.
-
Para usar uma conexão existente, você deve ter privilégios
USE CONNECTIONouALL PRIVILEGESno objeto de conexão. -
Você deve ter privilégios
USE CATALOGno catálogo de destino. -
Você deve ter privilégios de
USE SCHEMAeCREATE TABLEem um esquema existente ou privilégios deCREATE SCHEMAno catálogo de destino.
-
-
Para ingerir do Zoho CRM, primeiro configure a autenticação do Databricks e crie uma conexão. Consulte Configurar autenticação para Zoho CRM e Criar uma conexão Zoho CRM.
Opções do conector
Defina opções de escopo de pipeline em source_configurations. Consulte Exemplos para uso.
Opção | Escopo | Obrigatório | Aplica-se a | Descrição |
|---|---|---|---|---|
| Pipeline | Sim | Todas as tabelas incrementais | Data e hora mais antigas a partir das quais os dados serão ingeridos, no formato |
Criar um pipeline de ingestão
Para a lista de tabelas de origem suportadas, consulte Tabelas de origem suportadas.
- Declarative Automation Bundles
- Databricks notebook
Use os Pacotes de Automação Declarativa para gerenciar pipelines do Zoho CRM 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 Workspace de destino (como desenvolvimento, staging e produção). Para obter mais informações, consulte O que são os Pacotes de Automação Declarativa?.
-
Criar um pacote usando a CLI do Databricks:
Bashdatabricks bundle init -
Adicione dois novos arquivos de recurso ao bundle:
- Um arquivo de definição de pipeline (por exemplo,
resources/zoho_crm_pipeline.yml). Veja pipeline.ingestion_definition e Exemplos. - Um arquivo de definição de job que controla a frequência de ingestão de dados (por exemplo,
resources/zoho_crm_job.yml).
- Um arquivo de definição de pipeline (por exemplo,
-
Implante o pipeline usando a CLI do Databricks:
Bashdatabricks bundle deploy
- Importe o seguinte notebook no seu workspace do Databricks:
-
Deixe as células um e dois como estão. Não modificar.
-
Modifique a célula três com os detalhes da configuração do seu pipeline. Veja pipeline.ingestion_definition e Exemplos.
-
Opcionalmente, configure as configurações avançadas do pipeline. Consulte Padrões comuns para pipelines de ingestão gerenciados.
-
Clique em Executar tudo .
Exemplos
O conector Zoho CRM disponibiliza suas tabelas de origem no esquema de origem default. Ingira tabelas individuais ou todo o esquema. Todo pipeline deve definir start_datetime.
Ingerir tabelas específicas
Use essa opção para ingerir um subconjunto específico de tabelas ou para personalizar a nomenclatura de destino por tabela.
- Declarative Automation Bundles
- Databricks notebook
O seguinte arquivo de definição de pipeline ingere tabelas individuais do Zoho CRM:
resources:
pipelines:
zoho_crm_pipeline:
name: zoho_crm_pipeline
catalog: 'main'
target: 'zoho_crm_data'
ingestion_definition:
connection_name: zoho_crm_connection
source_configurations:
- api_source_connector_config:
configs:
start_datetime: '<start-datetime>'
objects:
- table:
source_schema: 'default'
source_table: 'leads'
destination_catalog: 'main'
destination_schema: 'zoho_crm_data'
destination_table: 'leads'
- table:
source_schema: 'default'
source_table: 'contacts'
destination_catalog: 'main'
destination_schema: 'zoho_crm_data'
destination_table: 'contacts'
- table:
source_schema: 'default'
source_table: 'deals'
destination_catalog: 'main'
destination_schema: 'zoho_crm_data'
destination_table: 'deals'
A especificação de pipeline a seguir ingere tabelas individuais do Zoho CRM:
pipeline_name = "zoho_crm_pipeline"
connection_name = "<zoho-crm-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"source_configurations": [
{
"api_source_connector_config": {
"configs": {
"start_datetime": "<start-datetime>"
}
}
}
],
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "leads",
"destination_catalog": "main",
"destination_schema": "zoho_crm_data",
"destination_table": "leads"
}
},
{
"table": {
"source_schema": "default",
"source_table": "contacts",
"destination_catalog": "main",
"destination_schema": "zoho_crm_data",
"destination_table": "contacts"
}
},
{
"table": {
"source_schema": "default",
"source_table": "deals",
"destination_catalog": "main",
"destination_schema": "zoho_crm_data",
"destination_table": "deals"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Ingerir o esquema inteiro
Use esta opção para ingerir todas as tabelas de origem do Zoho CRM, incluindo tabelas de módulo personalizadas, em um único esquema de destino com uma declaração.
- Declarative Automation Bundles
- Databricks notebook
O seguinte arquivo de definição de pipeline ingere todas as tabelas do Zoho CRM suportadas em um esquema de destino:
resources:
pipelines:
zoho_crm_pipeline:
name: zoho_crm_pipeline
catalog: 'main'
target: 'zoho_crm_data'
ingestion_definition:
connection_name: zoho_crm_connection
source_configurations:
- api_source_connector_config:
configs:
start_datetime: '<start-datetime>'
objects:
- schema:
source_schema: 'default'
destination_catalog: 'main'
destination_schema: 'zoho_crm_data'
A seguinte especificação de pipeline ingere todas as tabelas do Zoho CRM suportadas em um esquema de destino:
pipeline_name = "zoho_crm_pipeline"
connection_name = "<zoho-crm-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"source_configurations": [
{
"api_source_connector_config": {
"configs": {
"start_datetime": "<start-datetime>"
}
}
}
],
"objects": [
{
"schema": {
"source_schema": "default",
"destination_catalog": "main",
"destination_schema": "zoho_crm_data"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Arquivo de definição de job de Pacotes de Automação Declarativa
O seguinte é um exemplo de arquivo de definição de job para uso com Pacotes de Automação Declarativa. O Job é execução diariamente.
- Declarative Automation Bundles
resources:
jobs:
zoho_crm_job:
name: zoho_crm_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: zoho_crm_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.zoho_crm_pipeline.id}
Padrões comuns
Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.
Próximos os passos
Comece, programe e defina alertas em seu pipeline. Consulte Tarefas comuns de manutenção de pipeline.