Pular para o conteúdo principal

Ingerir dados do RabbitMQ

info

Beta

Este recurso está em Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.

Esta página mostra como criar um pipeline de ingestão RabbitMQ gerenciado usando o Databricks LakeFlow Connect.

Requisitos

  • Para criar um pipeline de ingestão, você deve primeiro atender aos seguintes requisitos:

    • Seu workspace deve estar habilitado para o Unity Catalog.

    • O compute serverless deve ser habilitado para seu workspace. Consulte Requisitos de computação serverless.

    • Para criar uma nova conexão, é preciso ter os privilégios CREATE CONNECTION no metastore. Consulte Gerenciar privilégios no Unity Catalog.

      Se o conector suportar a criação de pipelines baseada na IU, um administrador poderá criar a conexão e o pipeline simultaneamente, ao concluir os passos nesta página. No entanto, se os usuários que criam pipelines usam a autoria de pipeline baseada em API ou são usuários não administradores, um administrador deve primeiro criar a conexão no Catalog Explorer. Consulte Conectar-se a fontes de ingestão gerenciadas.

    • Para usar uma conexão existente: é preciso ter os privilégios USE CONNECTION ou ALL PRIVILEGES no objeto de conexão.

    • Você deve ter privilégios USE CATALOG no catálogo de destino.

    • É necessário ter os privilégios USE SCHEMA e CREATE TABLE em um esquema existente ou os privilégios CREATE SCHEMA no catálogo de destino.

  • Para ingerir do RabbitMQ, você deve primeiro concluir os passos em Conectar ao RabbitMQ.

Criar pipeline de ingestão

Cada fila clássica do RabbitMQ é ingerida em uma tabela de transmissão. Para obter uma lista de dados compatíveis e limitações, consulte Dados compatíveis.

nota

A criação de pipelines baseada na IU não é compatível para o conector RabbitMQ em Beta. Use Pacotes de Automação Declarativa ou um Notebook Databricks para criar seu pipeline.

Use Pacotes de Automação Declarativa para gerenciar pipelines do RabbitMQ 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 executados em diferentes workspaces de destino (como desenvolvimento, preparo e produção). Para obter mais informações, consulte O que são Pacotes de Automação Declarativa?.

  1. Crie um novo pacote utilizando a CLI do Databricks:

    Bash
    databricks bundle init
  2. Adicione um arquivo de definição de pipeline ao pacote (por exemplo, resources/rabbitmq_pipeline.yml). Veja pipeline.definição_de_ingestão e Exemplos.

  3. Implante o pacote usando a CLI do Databricks:

    Bash
    databricks bundle deploy

Exemplos

Use estes exemplos para configurar seu pipeline.

Pipeline com única fila

Este exemplo ingere uma única fila clássica do RabbitMQ em uma tabela de transmissão:

YAML
variables:
connection_name:
default: my-rabbitmq-connection
dest_catalog:
default: main
dest_schema:
default: rabbitmq_ingest
resources:
pipelines:
rabbitmq_pipeline:
name: rabbitmq-ingestion-pipeline
serverless: true
continuous: true
channel: PREVIEW
catalog: ${var.dest_catalog}
target: ${var.dest_schema}
ingestion_definition:
connection_name: ${var.connection_name}
objects:
- table:
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
destination_table: orders
connector_options:
rabbitmq_options:
queue: orders

Pipeline com múltiplas filas

Este exemplo ingere duas filas clássicas do RabbitMQ, cada uma em sua própria tabela de destino. Definir uma entrada de tabela por fila:

YAML
variables:
connection_name:
default: my-rabbitmq-connection
dest_catalog:
default: main
dest_schema:
default: rabbitmq_ingest
resources:
pipelines:
rabbitmq_pipeline:
name: rabbitmq-ingestion-pipeline
serverless: true
continuous: true
channel: PREVIEW
catalog: ${var.dest_catalog}
target: ${var.dest_schema}
ingestion_definition:
connection_name: ${var.connection_name}
objects:
- table:
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
destination_table: orders
connector_options:
rabbitmq_options:
queue: orders
- table:
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
destination_table: shipments
connector_options:
rabbitmq_options:
queue: shipments

Padrões comuns

Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.

Passos seguintes

O Conector RabbitMQ executa pipelines contínuos. Em seguida, comece seu pipeline e defina alertas nele. Veja Tarefas comuns de manutenção de pipelines.

Recursos adicionais