Ingerir dados do Cribl.Cloud
Beta
Esse recurso está em Beta. Para usá-lo, um administrador do workspace deve ativar o Lakeflow Connect for Cribl na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.
Esta página mostra como criar um pipeline de ingestão Cribl 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 ser habilitado para seu Workspace. Consulte Requisitos de compute Serverless.
-
Para criar uma nova conexão é preciso ter privilégios de
CREATE CONNECTIONno metastore. Consulte Gerenciar privilégios no Unity Catalog.Se o conector for compatível com a criação de pipeline baseada na 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 os privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou privilégiosCREATE SCHEMAno catálogo de destino.
-
-
Para ingerir do Cribl.Cloud, primeiro configure a autenticação do Databricks e crie uma conexão. Consulte Configurar autenticação para Cribl.Cloud e Criar uma conexão Cribl.
Opções de conector
Defina opções de escopo de pipeline em source_configurations. Todas as opções são opcionais. Consulte Exemplos para obter informações sobre o uso.
Opção | Escopo | Obrigatório | Aplica-se a | Descrição |
|---|---|---|---|---|
| Pipeline | Não | Todas as tabelas, exceto | Hostname da API do Cribl.Cloud Workspace, sem o esquema |
| Pipeline | Não |
| Hostname da API de gerenciamento do Cribl.Cloud, sem o esquema |
| Pipeline | Não | Todas as tabelas com escopo de grupo de worker | Lista separada por vírgulas de IDs de Grupo de Worker para ingerir, por exemplo |
| Pipeline | Não |
| O primeiro horário de log a ser ingerido na primeira sincronização, no formato |
Criar um pipeline de ingestão
Para obter uma lista de tabelas de origem suportadas, consulte Tabelas de origem suportadas.
- Databricks UI
- Declarative Automation Bundles
- Databricks notebook
- Na barra lateral do workspace do Databricks, clique em Ingestão de dados .
- Na página Adicionar dados , em Conectores do Databricks , clique em Cribl .
- Na página Conexão do assistente de ingestão, selecione a conexão que armazena suas credenciais do Cribl.Cloud. Se você tiver o privilégio
CREATE CONNECTIONno metastore, clique emCriar conexão para criar uma conexão com as credenciais de Configurar autenticação no Cribl.Cloud.
- Clique em Avançar .
- Na página Configuração de ingestão , insira um nome para o pipeline.
- Selecione um catálogo e um esquema para gravar 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 Origem , selecione as tabelas para ingestão.
- Clique em Salvar e continuar .
- Na página Destino , selecione um catálogo e um esquema para carregar os dados. Se você tiver os privilégios
USE CATALOGeCREATE SCHEMAno catálogo, clique emCriar esquema no menu suspenso para criar um esquema.
- Clique em Salvar e continuar .
- (Opcional) Na página Cronogramas e notificações , clique em
Criar cronograma . Defina a frequência para refresh das tabelas de destino.
- (Opcional) Clique em
Adicionar notificação para definir notificações por email para sucesso ou falha da operação do pipeline e, em seguida, clique em Salvar e execução do pipeline .
Use os Pacotes de Automação Declarativa para gerenciar pipelines do Cribl 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?.
-
Crie um pacote usando a CLI do Databricks:
Bashdatabricks bundle init -
Adicione dois novos arquivos de recursos ao pacote:
- Um arquivo de definição de pipeline (por exemplo,
resources/cribl_pipeline.yml). Veja 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/cribl_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 para o 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 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 Cribl disponibiliza 21 tabelas de origem no esquema de origem default. Ingira tabelas individuais ou as tabelas de que você precisa.
Ingerir tabelas específicas
Use esta 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 Cribl individuais:
resources:
pipelines:
cribl_pipeline:
name: cribl_pipeline
catalog: 'main'
target: 'cribl_data'
ingestion_definition:
connection_name: cribl_connection
source_configurations:
- api_source_connector_config:
configs:
group_allowlist: '<worker-group-id>,<worker-group-id>'
start_datetime: '<start-datetime>'
objects:
- table:
source_schema: 'default'
source_table: 'worker_groups'
destination_catalog: 'main'
destination_schema: 'cribl_data'
destination_table: 'worker_groups'
- table:
source_schema: 'default'
source_table: 'pipelines'
destination_catalog: 'main'
destination_schema: 'cribl_data'
destination_table: 'pipelines'
- table:
source_schema: 'default'
source_table: 'audit_log'
destination_catalog: 'main'
destination_schema: 'cribl_data'
destination_table: 'audit_log'
A especificação de pipeline a seguir ingere tabelas Cribl individuais:
pipeline_name = "cribl_pipeline"
connection_name = "<cribl-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"source_configurations": [
{
"api_source_connector_config": {
"configs": {
"group_allowlist": "<worker-group-id>,<worker-group-id>",
"start_datetime": "<start-datetime>"
}
}
}
],
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "worker_groups",
"destination_catalog": "main",
"destination_schema": "cribl_data",
"destination_table": "worker_groups"
}
},
{
"table": {
"source_schema": "default",
"source_table": "pipelines",
"destination_catalog": "main",
"destination_schema": "cribl_data",
"destination_table": "pipelines"
}
},
{
"table": {
"source_schema": "default",
"source_table": "audit_log",
"destination_catalog": "main",
"destination_schema": "cribl_data",
"destination_table": "audit_log"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Arquivo de definição de job de Pacotes de Automação Declarativa
A seguir está 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:
cribl_job:
name: cribl_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: cribl_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.cribl_pipeline.id}
Padrões comuns
Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.
Os passos seguintes
Comece, programe e defina alertas em seu pipeline. Consulte Tarefas comuns de manutenção de pipeline.