2016-03-03 7 views
1

Я новичок в Talend и ценю любую помощь. У меня есть mysql-вход (tMSSqlInput) с оператором: select count(*) as row_count from app.ImportFile a where 1; Настройка переменной контекста из счета sql

Что я хотел бы сделать: Сделайте Select statement statement в базе данных и присвойте переменной.

ли это выглядит правильно для установки переменной контекста:

tMSSqlInput ----> если заявление (не знаю, что включать здесь) ----> tSetGlobalVar

Я прочитал: Setting a database value to context variable in talend и How to set context variable from database, но они относятся к операторам SQL, которые имеют оператор select с именами столбцов.

Спасибо всем.

ответ

0
what you can do is below 
tMSSqlInput-->tJavaRow (here you can populate your global variable...lets say your schema column name was row_count then here you can put logic as 
globalMap.put("row_count_received",input_row.row_count); 
and then you can use if conditional subjob trigger 

tMSSQLInput--->tJavaRow 
| 
|if condition --- (((Integer)globalMap.get("row_count_receive"))==1 
V 
do your operation 

similarly you can fork another if statement and where count=0 like above.. 
+0

Спасибо за ответ, добавлено: globalMap.put ("row_count_received", row3.row_count); System.out.println ("test:" + row3.row_count); но распечатать было -> test: null –

+0

Что такое row3 ... вы можете показать сообщение об изображении своей работы .. также использовать input_row.row_count в tJavaRow ... input_row - это то, что вы можете использовать внутри tJavarow, независимо от того, что есть имя входящего соединения. – garpitmzn

1

Вместо tJavaRow, я предпочитаю использовать tSetGlobalVar вместо этого. Это делает более понятным то, что вы пытаетесь сделать: установите глобальную переменную, используя входной сигнал от tMSSQLInput.

tMSSQLInput---main--->tSetGlobalVar 

В первом столбце tSetGlobalVar, добавьте имя глобальной переменной карты вы хотите, например, «сверку»

Во второй колонке tSetGlobalVar, вы положили в rown.count, где " rown "- это имя строки, исходящей из tMSSQLInput, а« count »- это имя поля, указанного в вашей схеме tMSQLInput.