PT EN
Voltar ao site

DATTA Prep — Preparação Visual de Dados

Preview — funcionalidade em desenvolvimento. Comportamento, telas e contratos podem mudar sem aviso entre versões.

Preparar dados para análise costumava exigir scripts SQL espalhados, planilhas intermediárias e um pedido ao time de engenharia a cada nova coluna. Com o DATTA Prep — o Power Query da plataforma DATTA — você combina dados de várias fontes (Trino, Neo4j, OpenSearch, bancos JDBC, arquivos) num único Modelo semântico, clicando, sem escrever DATTAX. Cada clique vira uma etapa rastreável, e o resultado sai pronto para os painéis do DATTA BI.

Acesse pelo menu DATTA BIDATTA Prep.

Conceito

O DATTA Prep adota o modelo mental do Power Query, em três painéis:

  • Consultas (esquerda): cada "tabela" do seu Modelo é uma consulta. Você adiciona várias consultas, cada uma de uma fonte diferente.
  • Preview (centro): amostra de 100 linhas da consulta ativa.
  • Etapas aplicadas (direita): cada transformação (filtro, ordenação, renomeação, remoção, mudança de tipo, coluna calculada, agrupamento, limite) vira um pipe |> DATTAX gerado automaticamente.

Quando você clica em Salvar como Modelo, o DATTA Prep:

  1. Persiste cada consulta como um Dataset do DATTA BI.
  2. Cria um Modelo (DataModel) agrupando as consultas.
  3. Liga cada Dataset ao Modelo.
  4. Registra cada tabela no Knowledge Catalog, com:
    • Estatísticas por coluna (mínimo, máximo, média, contagem de distintos, contagem de nulos).
    • Semântica por coluna (tipo semântico, kind, tags, descrição e termo do glossário, quando houver).
    • Referência à conexão de origem (identificador e nome).

Ou seja: o que você preparou vira ativo governado e reutilizável — não um arquivo solto. As rotas usadas nesses quatro passos estão na referência de API.

Passo a passo

  1. Conectar a uma fonte. Clique em + Nova fonte no painel esquerdo. O diálogo lista todos os datasets já descobertos pela catalogação automática das suas conexões — Trino, Neo4j, OpenSearch, JDBC. Selecione um e o DATTA Prep gera o FROM DATTAX automaticamente, executa o preview e exibe a tabela.
  2. Aplicar transformações. Use:
    • Cabeçalho da coluna (...): filtro, ordenação, renomeação, remoção e mudança de tipo.
    • Menu superior: GROUP BY, LIMIT e MUTATE (coluna calculada).
  3. Semântica. Clique no chip semântico de cada coluna (inferido automaticamente a partir do nome e do tipo). Edite o tipo (dimension, measure, identifier, date, email, pii...), kind, tags, descrição e termo do glossário.
  4. Salvar como Modelo. Defina nome, descrição, workspace e domínio. Escolha Batch (snapshot, materialização sob demanda) ou Streaming (todas as origens streamadas via Kafka — veja a seção abaixo). Para streaming, indique a coluna WATERMARK (timestamp ou cursor para carga incremental).

Modos de carregamento

Batch (padrão)

  • Cada FROM <KIND> permanece como está — SQL do Trino, MATCH em Cypher, consulta ao índice. A materialização acontece quando o Modelo é referenciado por um painel do DATTA BI ou por um job DATTAX agendado.
  • DATTAX gerado: ``dattax EVALUATE FROM TRINO "memory.datta_demo" "SELECT * FROM memory.datta_demo.vendas" |> FILTER "valor_total" > 100 |> ORDER BY "data_pedido" DESC ``
  • Uso ideal: análises periódicas (diária, semanal), painéis com atualização manual, exploração livre.

Streaming via Kafka

  • Toda fonte batch é reescrita para o equivalente FROM STREAM <KIND>, independentemente de a origem ser ou não naturalmente streaming. O backbone Kafka unifica tudo.
  • Mapeamentos automáticos:
BatchStreaming
FROM TRINO "<schema>" "SELECT * FROM <fqTable>"FROM STREAM CDC "<conn>" TABLE "<schema.table>" FORMAT JSON STARTING FROM EARLIEST
FROM JDBC "<agent>" "SELECT * FROM <table>"FROM STREAM CDC "<conn>" TABLE "<table>" FORMAT JSON STARTING FROM EARLIEST
FROM GRAPH "<db>" MATCH "(n:Label)"FROM STREAM NEO4J_CDC "<conn>" LABEL "Label" FORMAT JSON STARTING FROM EARLIEST
FROM INDEX "<index>" {...}FROM STREAM OPENSEARCH_POLL "<conn>" TOPIC "<index>" FORMAT JSON STARTING FROM EARLIEST
  • WATERMARK é obrigatório para carga incremental: é a coluna de timestamp ou cursor que a plataforma usa para saber "até onde já consumiu". Sem WATERMARK, o stream entrega o snapshot inicial, mas não consegue avançar.
  • Como funciona por dentro:
    • Trino/JDBC: o conector Debezium lê o log de transações e publica em um tópico Kafka por tabela (datta.cdc.<db>.<table>).
    • Neo4j: a procedure cdc.query em modo PULL (Neo4j 5.13+) emite eventos para um tópico Kafka mantido por um componente auxiliar — alternativa on-premises, sem dependência de Confluent.
    • OpenSearch: não tem CDC nativo. O OPENSEARCH_POLL consulta por intervalo (padrão de 30s) com range > last_watermark, publica os documentos novos em Kafka e avança o watermark.
  • Materialização: a plataforma consome o tópico Kafka, aplica os pipes DATTAX (|> FILTER, |> GROUP BY, etc.) e empurra para o destino (MATERIALIZE TO TABLE, MATERIALIZE TO INDEX, MATERIALIZE TO GRAPH) em micro-lotes de 5s ou em janelas tumbling configuradas.

Quando usar cada modo

CenárioModo
Análise diária ou semanal, painel com atualização manualBatch
Exploração livre de uma fonte novaBatch
Painel que precisa refletir a origem em minutosStreaming
Origem com alto volume de alterações contínuasStreaming (com WATERMARK)

Demo: Modelo cross-source

O workspace demo-ws-vendas já vem com dois Modelos pré-cadastrados que combinam as 3 fontes simultaneamente:

  • Modelo Demo Cross-Source (Vendas + Logs + Conexoes) — batch.
  • Modelo Demo Streaming (Vendas + Logs + Conexoes via Kafka) — streaming.

Cada Modelo agrega:

  • Trino: memory.datta_demo.vendas (60 pedidos).
  • Neo4j: datta.Connection (registro de conexões da plataforma — 11 conexões).
  • OpenSearch: otel-v1-apm-span-000001 (~911 mil registros de telemetria).

Use estes Modelos como ponto de partida para painéis no DATTA BI ou para validar o pipeline de streaming consumindo de Kafka.

Permissões

  • DATAPREP_VIEW — abrir o DATTA Prep e listar fontes (analista+).
  • DATAPREP_EXECUTE — executar o preview de uma consulta (analista+).
  • DATAPREP_SAVE — salvar um Modelo (analista, steward, admin).
  • DATAPREP_STREAMING — escolher o modo Streaming (steward, admin — o consumo de Kafka tem custo de infraestrutura que exige aprovação).

O que evitar

  • Combinar dezenas de consultas em um único Modelo: prefira Modelos pequenos por domínio (vendas, clientes, logs) e relacione-os na tela de Modelos do DATTA BI.
  • Salvar streaming sem WATERMARK: o stream entrega o snapshot inicial, mas trava na próxima atualização.
  • Editar o DATTAX gerado à mão: o DATTA Prep reexecuta a partir das etapas, e alterações manuais são sobrescritas. Para DATTAX livre, use o designer de pipeline do DATTA Extract.