Avalados por :

Opções para definir variáveis globais em um fluxo de dados BODS

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 3 Vistas
0
Cargando...

Olá especialistas,

Sou novo no BODS, mas já utilizei algumas outras ferramentas ETL/ELT. Por favor, ajudem-me a responder às seguintes perguntas:

#1. Quais são as minhas opções (se houver) para definir os valores de variáveis globais dentro de um fluxo de dados? Posso configurá-lo em uma transformação de consulta diretamente (preferencialmente) ou através de uma função personalizada, ou outra transformação?

#2. Posso ter um fluxo de dados sem uma tabela de destino? (Estou tentando usar um fluxo de dados para processar apenas uma linha de uma tabela de origem, apenas para definir um grupo de variáveis globais. Se a resposta for Não; qual é a tabela de destino mais fácil de usar, um arquivo plano? Não quero usar uma tabela de modelo, pois adiciona uma tabela temporária ao banco de dados; enquanto, com um arquivo plano, presumo que não precisa existir previamente (e não será gerado no meu fluxo de dados de qualquer forma). Está correto o meu pensamento? Existem mais opções aqui?


#3. Dentro de um script, usando a chamada sql(), posso obter mais de uma coluna em variável(es)? Por exemplo, a seguinte declaração obtém uma coluna em uma variável global. No entanto, quero obter múltiplas colunas em variáveis separadas, em um único passo. É possível ou não?


$G_Current_SQL_Text = sql('Nome_Datastore','SELECT Columna_1 FROM mi_tabla WHERE SQL_NO = [$G_Current_SQL_No]');

Antecedentes (se estiver interessado):

<<Por favor, veja o arquivo anexado - "Proof_Of_Concept.jpg">>

Estou tentando definir um framework de validação de dados usando BODS. Tenho muitos SQLs de validação em uma tabela de metadados e faço com que o BODS os percorra usando um loop while. Estou processando apenas uma linha (que contém a declaração SQL) de cada vez. Estou usando uma variável global ($G_Current_SQL_Text) na transformação SQL para executar o SQL e escrever o resultado em uma tabela de destino. No entanto, como prelúdio a isso, na parte inicial dentro do loop while, estou usando um script para definir as seguintes variáveis globais em múltiplas passagens. Quero substituir o script por um fluxo de dados; daí as perguntas publicadas anteriormente

$G_Total_No_Of_SQLs

$G_Current_SQL_Text

$G_Current_SQL_Datastore

$G_Current_SQL_No_Of_Columns, etc

Obrigado antecipadamente,

Kaushik.

Proof_Of_Concept.jpg
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá,

Você pode atribuir valores de variáveis globais nas propriedades de execução.

e o arquivo deve existir previamente no diretório especificado.

Obrigado,

Faiz

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

1 b

2 b

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Balakrishna & Dirk,

Obrigado pelas respostas rápidas. Ambas respostas foram muito úteis. Algumas perguntas de acompanhamento:

1. Em uma função personalizada, podemos atribuir dinamicamente o valor à variável? Em outras palavras, é possível

a) Criar apenas uma função personalizada com dois parâmetros de entrada: um para o nome da variável global e outro para o valor atribuído?; ou

b) Preciso criar uma função personalizada para cada variável global à qual preciso atribuir um valor?

2. Com um arquivo plano como destino;

a) O arquivo deve existir previamente no diretório especificado; ou

b) Um arquivo vazio será criado quando o fluxo de dados for executado; ou

c) Nenhum arquivo será criado, pois não serão escritas linhas nele.

Obrigado

Kaushik.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

1) Você pode chamar uma Função Personalizada para atribuir uma Variável Global. Na função, atribua um valor. Mas essa função será chamada para cada registro.

2) Quando você tem apenas um registro, use Script.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?