Oui j'ai déjà fait se genre de chose.
Avec des clés primaires entière
J'avais un flux
tMysqlInput -row1> tMysqlOutput
que j'ai du remplacer par
tMysqlInput -row2> tFlowToIterate -iterate> tJavaFlex -iterate> tMysqlInput -row1> tMysqlOutput
dans le tMysql que j'ai ajouté je sélectionnais la plus petite et la plus grande de ma clé primaire en base.
dans le tJavaFLex je définissait la boucle de mes intervaux :
code de début
1 2 3 4 5 6 7
|
int group_by = 10000;
int borneInf = row2.min;
boolean hasNextLoop = true;
while(hasNextLoop){
int borneSup = borneInf + group_by; |
code principal
1 2
|
// pas de code car on est entre deux iterate : le code dans la boucle est ce qui sera généré pas talend après l'itération |
code de fin
1 2 3 4
|
borneInf = borneSup + 1;
hasNextLoop = borneInf > row2.max;
}// fin while |
et dans mon tMysql existant j'ai dynamisé ma requête afin d'avoir une close where du genre
where id >= " + borneInf + " and id <= " + borneSup + "
Partager