Pentaho-基于输入字段生成UUID

Pentaho-基于输入字段生成UUID,pentaho,uuid,Pentaho,Uuid,有没有办法在pentaho步骤中使用输入字段生成UUID 例如: Input: Name, Address. Output: UUID = UUID(Name + Address) 您可以添加并使用类似于以下内容的代码: String input=“某个名称”+“某个地址”; 字节[]序列化=输入.getBytes(“UTF8”); UUID yourId=UUID.nameUUIDFromBytes(序列化); 这将根据您拥有的给定输入生成确定性UUID。您可以使用pentaho数据集成的

有没有办法在pentaho步骤中使用输入字段生成UUID

例如:

Input: Name, Address.
Output: UUID = UUID(Name + Address)
您可以添加并使用类似于以下内容的代码:

String input=“某个名称”+“某个地址”;
字节[]序列化=输入.getBytes(“UTF8”);
UUID yourId=UUID.nameUUIDFromBytes(序列化);

这将根据您拥有的给定输入生成确定性UUID。

您可以使用pentaho数据集成的添加检查步骤,它将为字段组合创建唯一的代码。

UUID.nameuidFromBytes()生成MD5 UUID。SHA1优先于MD5。您可以使用
UuidCreator.getNameBasedSha1()
创建SHA1 UUID

在此示例中,将变量
名称
地址
连接起来以生成SHA1 UUID:

//创建基于名称的UUID
String name=“localhost”;
字符串地址=“127.0.0.1”;
UUID UUID=UuidCreator.getNameBasedSha1(名称+地址);
在另一个示例中,称为“网络”的自定义名称空间与
名称
地址
一起使用:

//创建一个名为“network”的自定义命名空间
UUID namespace=UuidCreator.getNameBasedSha1(“网络”);
//在“网络”内创建基于名称的UUID
String name=“localhost”;
字符串地址=“127.0.0.1”;
UUID UUID=UuidCreator.getNameBasedSha1(名称空间,名称+地址);

项目页面:

谢谢。我最终创建了一个用户定义类,正如您在评论中提到的,它工作得很好。