Buscar K
Aparência
Aparência
Dois nós leem dado que já está no Lumo, sem credencial: Consultar Lakehouse consulta uma tabela do HorusDW, e Extrair Datalake lê uma tabela Datalake. Os dois ficam no grupo Cloud da biblioteca de nós. A diferença entre o DW e o Datalake está em onde o dado fica.
| Consultar Lakehouse | Extrair Datalake | |
|---|---|---|
kind no YAML | ExtractLakehouse | ExtractDatalake |
| Lê | Tabela ou Cadastro do HorusDW | tabela do tipo Datalake |
| Recorte | consulta montada na tela: colunas, filtros, agrupamento, janela, dedupe, ordem, limite | as partições da janela do Dataflow |
| Uso típico | cruzar dado de fora com o que já está no DW; reprocessar uma tabela | ler uma camada Bronze gravada por outro Dataflow |
| Na tela | No YAML (options) | Tipo | Padrão | Regra |
|---|---|---|---|---|
| Tabela Lakehouse | TableID | inteiro | nenhum | Lista as Tabelas e os Cadastros que você pode ler, publicados e não publicados (estes com ⚠). Tabela Datalake não aparece |
| Editar consulta, seção Colunas, Projetar | Select | lista de colunas | todas | Nenhuma coluna marcada traz todas |
| Filtros | Filters | lista ou árvore | nenhum | Veja Filtros |
| Colunas, Agrupar | GroupBy | lista de colunas | nenhum | |
| Colunas, Agregação | Aggregations | lista de { Func, Column, As } | nenhum | mín (min), máx (max), soma (sum), cont (count), média (avg), dist (count_distinct). Soma e média só em coluna de número. O nome de saída é gerado pela tela |
| Colunas calculadas | WindowColumns | lista | nenhum | Funções de janela. Veja Colunas calculadas |
| Dedupe, Usar dedupe | Dedupe | { PartitionBy, OrderBy, Keep } | desligado | Uma linha por chave. Veja Dedupe |
| Ordenar por | OrderBy | lista de { Column, Dir } | nenhum | Crescente (asc) ou Decrescente (desc). Aceita o nome de saída de uma agregação |
| Limite de linhas | Limit | inteiro | 0 | 0 é sem limite. Negativo é recusado |
Com agregação, toda coluna projetada precisa estar marcada em Agrupar. A tela avisa com "Com agregações, as colunas projetadas devem estar no Agrupar: ...". As colunas saem com o tipo que têm na tabela.
Agrupamento (com ou sem agregação), colunas calculadas e dedupe não se combinam: a consulta usa no máximo um dos três. Projeção, filtros, ordem e limite combinam com qualquer um. Ao usar um deles, a tela desabilita os outros dois, com avisos como "Agregação/Agrupar desabilitados: usando janela/dedupe." Uma consulta escrita no YAML com mais de um é recusada na execução.
Cada filtro tem coluna, operador e valor. Adicionar filtro cria um filtro, Adicionar grupo cria um grupo, e Combinar com escolhe E (todas) ou OU (qualquer uma) dentro do grupo.
| Operador na tela | No YAML (Op) | Valor |
|---|---|---|
| = igual | eq | um valor |
| ≠ diferente | neq | um valor |
| > maior que | gt | um valor |
| ≥ maior ou igual | gte | um valor |
| < menor que | lt | um valor |
| ≤ menor ou igual | lte | um valor |
| em (lista) | in | lista, até 1.000 valores |
| entre | between | [mínimo, máximo], com os dois extremos |
| é nulo | is_null | nenhum |
| não é nulo | is_not_null | nenhum |
| começa com | like_prefix | texto; só em coluna de texto |
No YAML, Filters aceita duas formas, nunca as duas juntas. A lista simples junta todos com E. A árvore aninha blocos and e or, até 5 níveis.
# lista: tudo com E
Filters:
- Column: STATUS
Op: in
Value: [ativo, pendente]
- Column: DATA_ATUALIZACAO
Op: gte
Value: { var: LastDataPoint }
# árvore: DATA_ATUALIZACAO >= {LastDataPoint} E (STATUS = ativo OU PRIORIDADE >= 5)
Filters:
and:
- Column: DATA_ATUALIZACAO
Op: gte
Value: { var: LastDataPoint }
- or:
- Column: STATUS
Op: eq
Value: ativo
- Column: PRIORIDADE
Op: gte
Value: 5O valor pode ser uma variável do Dataflow, escolhida na tela ou escrita como { var: NOME } no YAML: StartDate e EndDate na Extração Janela, LastDataPoint na Incremental, as variáveis do Tenant e as que um Configurador anterior gerou. Para mexer no valor antes de filtrar (por exemplo, LastDataPoint menos 12 dias), calcule uma variável nova num Configurador e use o nome dela.
Uma coluna calculada aplica uma função de janela e acrescenta o resultado a cada linha, sem juntar linhas. Cada item é { As, Func, Column, PartitionBy, OrderBy, Offset }; As é o nome da coluna nova.
| Função na tela | No YAML (Func) | Column | OrderBy | Offset |
|---|---|---|---|---|
| nº linha (row_number), rank, dense rank | row_number, rank, dense_rank | não usa | obrigatório | não usa |
| soma, média, mínimo, máximo, contagem | sum, avg, min, max, count | obrigatório; soma e média só em número | opcional; com ordem, o cálculo é acumulado | não usa |
| lag, lead | lag, lead | obrigatório | obrigatório | opcional, inteiro a partir de 1, padrão 1 |
PartitionBy vazio calcula uma janela só sobre o resultado inteiro. O nome em As não pode repetir o de uma coluna projetada nem o de uma agregação.
WindowColumns:
- As: TOTAL_ACUMULADO
Func: sum
Column: VALOR
PartitionBy: [CLIENTE_ID]
OrderBy:
- Column: DATA_EMISSAO
Dir: ascO dedupe guarda uma linha por chave. Serve para pegar o estado mais recente de cada registro. Os três campos são obrigatórios: Partição por (PartitionBy), Ordenar por (OrderBy) e Manter (Keep), que fica com a Primeira ou a Última linha da ordem.
Dedupe:
PartitionBy: [PEDIDO_ID]
OrderBy:
- Column: ATUALIZADO_EM
Dir: desc
Keep: firstPara ter a primeira e a última linha de cada chave ao mesmo tempo, use duas colunas calculadas row_number, uma em cada ordem, e filtre num nó seguinte.
Nós antigos podem ter WhereClause, um filtro em SQL livre. Ele ainda roda, mas a tela o mostra só para leitura, com o aviso "Filtro SQL legado (descontinuado)" e o botão Remover filtro legado. Não crie novos: use Filtros.
| Na tela | No YAML (options) | Tipo | Padrão | Regra |
|---|---|---|---|---|
| Tabela do Datalake | TableID | inteiro | nenhum | Lista só tabelas Datalake publicadas |
| Filtrar pela janela do dataflow | UsePartition | booleano | desligado | Lê só as partições do período de {StartDate} a {EndDate}. Aparece quando a tabela é particionada por ano ou mês e tem coluna de data, e só vale quando a Extração do Dataflow é Janela |
| Ler dados de todos os Agentes ETL | ReadAllAgents | booleano | desligado | Cada Agente ETL grava os próprios arquivos na tabela. Desligado, o nó lê só os do Agente ETL que está rodando |
Abaixo dos campos, a seção Partições lista o que está gravado: Partição, Agente ETL e Data. As colunas e os tipos vêm da definição da tabela.
Sem Filtrar pela janela do dataflow, o nó lê a tabela inteira (do Agente ETL que roda, ou de todos). Quem grava uma tabela Datalake é o nó Inserir no DW apontado para ela.
Valem para o Consultar Lakehouse, conferidos pelo Lumo antes de rodar.
| Item | Máximo |
|---|---|
| Colunas projetadas | 200 |
| Filtros (folhas da árvore) | 100 |
| Níveis da árvore de filtros | 5 |
| Valores num filtro em (lista) | 1.000 |
| Agregações | 50 |
| Colunas em Agrupar | 50 |
| Colunas calculadas | 50 |
| Itens em Ordenar por | 50 |
Pelo Lumo CLI
O nó também pode ser escrito e versionado em YAML. Veja a referência de flow.