Pentaho - Генерация UUID на основе полей ввода - PullRequest
1 голос
/ 18 июня 2020

Есть ли способ сгенерировать UUID с шагом pentaho, используя поля ввода?

Пример:

Input: Name, Address.
Output: UUID = UUID(Name + Address)

Ответы [ 3 ]

1 голос
/ 19 июня 2020

вы можете использовать Добавить шаг проверки интеграции данных pentaho, он создаст уникальный код для комбинации полей.

1 голос
/ 18 июня 2020

Вы можете добавить определенный пользователем java класс и использовать код, подобный этому:

String input = "Some name" + "Some address";
byte[] serialized = input.getBytes("UTF8");
UUID yourId = UUID.nameUUIDFromBytes(serialized);

Это сгенерирует детерминированный c UUID на основе заданного ввода у вас есть.

0 голосов
/ 23 июля 2020

UUID.nameUUIDFromBytes() генерирует UUID MD5. SHA1 предпочтительнее MD5. Вы можете создать UUID SHA1 с помощью UuidCreator.getNameBasedSha1().

В этом примере переменные name и address объединены для создания UUID SHA1:

// Create a name based UUID
String name = "localhost";
String address = "127.0.0.1";
UUID uuid = UuidCreator.getNameBasedSha1(name + address);

В этом другом примере , пользовательское пространство имен под названием «сеть» используется вместе с name и address:

// Create a custom namespace called 'network'
UUID namespace = UuidCreator.getNameBasedSha1("network"); 

// Create a name based UUID inside the 'network'
String name = "localhost";
String address = "127.0.0.1";
UUID uuid = UuidCreator.getNameBasedSha1(namespace, name + address);

Страница проекта: https://github.com/f4b6a3/uuid-creator

...