Transformadores determinísticos
Visão geral
O Conversor DDF usa transformadores determinísticos para converter jobs DataStage e fluxos de trabalho Tableau Prep em SQL Snowflake sem exigir LLMs para a lógica central de transformação.
Resumo
- 18 classes de transformadores - Convertem metadados de origem em SQL Snowflake
- 11 transformadores DataStage - Tratam tipos de estágio do IBM DataStage
- 7 transformadores Tableau/DSX - Tratam tipos de nó do Tableau Prep
- 3 transformadores híbridos - Predominantemente determinísticos, com auxílio seletivo de LLM para expressões complexas
Categorias de transformadores
Totalmente determinísticos (15 transformadores)
Estes transformadores convertem metadados de origem em SQL usando apenas lógica baseada em modelos, sem chamadas a LLM:
DataStage:
- LookupStageTransformer
- ModifyStageTransformer
- JoinStageTransformer
- AggregatorStageTransformer
- RemoveDuplicatesTransformer
- CopyStageTransformer
- FunnelStageTransformer
- InputStageTransformer
- ImportStageTransformer
- OutputOracleTransformer
Tableau:
- AggregateTransformer (SuperAggregate)
- JoinTransformer (SuperJoin)
- UnionTransformer (SuperUnion)
- OutputTransformer
- LoadExcelTransformer
- LoadSqlProxyTransformer
Transformadores híbridos (3 transformadores)
Estes transformadores são predominantemente determinísticos, mas usam LLMs seletivamente para expressões complexas:
- TransformerStageTransformer (DataStage) - Determinístico para repasses simples de colunas e restrições; usa LLM para código de transformação C complexo
- ContainerTransformer (Tableau) - Determinístico para renomeação, remoção, alteração de tipos e mesclagem de colunas; usa LLM para expressões de filtro e colunas derivadas
Como os transformadores funcionam
Todos os transformadores herdam da classe base DeterministicTransformer e implementam dois métodos principais:
can_transform()- RetornaTruese o transformador puder tratar o estágio/nó informadotransform()- Converte o estágio/nó em SQL e retorna um objetoTransformResult
Resultado da transformação
Cada transformação retorna um TransformResult contendo:
success- Indica se a transformação foi bem-sucedidasql- Consulta SQL geradaschema- Esquema de saída (nomes e tipos das colunas)error- Mensagem de erro se a transformação falhoufield_info- Descrição da transformação legível por pessoas
Consulte os transformadores
Transformadores DataStage
Documentação de todos os transformadores de estágios DataStage com exemplos reais de entrada/saída.
Transformadores Tableau
Documentação de todos os transformadores de nós Tableau Prep com exemplos reais de entrada/saída.
Arquitetura
DeterministicTransformer (Base Class)
├── DataStage Transformers
│ ├── LookupStageTransformer - Multi-table JOINs
│ ├── ModifyStageTransformer - Column renames/filters
│ ├── JoinStageTransformer - SQL JOINs
│ ├── AggregatorStageTransformer - GROUP BY
│ ├── RemoveDuplicatesTransformer - DISTINCT/ROW_NUMBER()
│ ├── CopyStageTransformer - SELECT from datasets/stages
│ ├── FunnelStageTransformer - UNION ALL
│ ├── InputStageTransformer - Oracle SQL conversion
│ ├── ImportStageTransformer - File reads to tables
│ ├── OutputOracleTransformer - SELECT passthrough
│ └── TransformerStageTransformer - Column derivations (hybrid)
└── Tableau Transformers
├── AggregateTransformer - GROUP BY
├── JoinTransformer - SQL JOINs (including anti-joins)
├── UnionTransformer - UNION ALL
├── OutputTransformer - SELECT passthrough
├── LoadExcelTransformer - Excel to table mapping
├── LoadSqlProxyTransformer - Database table reads
└── ContainerTransformer - Column operations (hybrid)
Próximos passos
- Explore os Transformadores DataStage para documentação detalhada
- Explore os Transformadores Tableau para documentação detalhada
- Veja Como funciona para a arquitetura geral de conversão