Как проверить, закончился ли поток строк - PullRequest
0 голосов
/ 23 мая 2018

Есть ли способ узнать, закончился ли поток строк?То есть, если задание находится на последнем ряду?Что я пытаюсь сделать, так это чтобы каждые 10 строк что-то делали, моя проблема с последними строками, например, в 115 строках, последние 5 не произойдут, но они мне нужны.

1 Ответ

0 голосов
/ 23 мая 2018

В Talend нет встроенных функций, которые бы сообщали вам, если вы находитесь в последнем ряду.Вы можете обойти это, используя одно из следующих действий:

  • Получить количество строк заранее.Например, если у вас есть файл, вы можете использовать tFileRowCount для подсчета количества строк, затем, когда вы обрабатываете файл, вы используете переменную для текущего номера строки, и поэтому вы можете сказать, достигли ли выпоследний рядЕсли ваши данные поступают из базы данных, вы можете либо выполнить запрос, который заранее возвращает общее количество строк, либо изменить свой основной запрос, чтобы он возвращал общее количество строк в дополнительном столбце, и использовать его (используя функции ранжирования).

  • Выполнить некоторую обработку после завершения подзадачи: могут быть ситуации, когда вам понадобится специальная обработка для последней строки, вы можете добиться этого, получив последнюю строку, обработанную предыдущей подработкой(который вы уже сохранили, например, поставив tSetGlobalVar после вашей цели, когда ваша подзадача будет выполнена, ваша переменная содержит последнее записанное значение).

Edit

Для вашего случая использования, что вы могли бы сначала сохранить результат вызова API в памяти, используя tHashOutput, затем прочитать его с tHashInput, чтобы обработать его, итогда вы узнаете, сколько строк вы получили, используя глобальную переменную tHashOutput tHashOuput_X_NB_LINE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...