Если я правильно понимаю, вы используете одну из функций в tRowGenerator
для получения случайных данных.
Проблема в том, что функции генерации данных, доступные из Talend, на самом деле не случайны, они получают свои значения из предопределенный список значений. Вы можете посмотреть исходный код, чтобы убедиться, что они имеют сто или около того значений, поэтому вы обязательно получите дубликаты.
Чтобы получить уникальные значения, создайте подпрограмму Talend с помощью простого метода, который генерирует UUID:
public class Utils {
/**
* getRandom: return a random UUID
*
*
* {talendTypes} String
*
* {Category} User Defined
*
* {param} string("world") input: dummy input
*
* {example} getRandom("world") # 01e98b98-05d6-427c-978d-1f86d0ea4712
*/
public static String getRandom(String input) {
return java.util.UUID.randomUUID().toString();
}
}
Затем вы можете получить доступ к этой функции из tRowGenerator
:
Еще одна вещь , Я не уверен, что именно является вашим требованием, но поскольку у вас нет ключа соединения между вашими входами, вы получаете декартово соединение между всеми вашими входами (42x298x206 строк). Поэтому вы можете определить условие соединения.
Если вы действительно определяете условие соединения, убедитесь, что входы tMap
находятся в правильном порядке (вы используете поток tRowGenerator
в качестве основного соединения, а другие - как поиск).