Pentaho-基于输入字段生成UUID
有没有办法在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数据集成的
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(名称空间,名称+地址);
项目页面:谢谢。我最终创建了一个用户定义类,正如您在评论中提到的,它工作得很好。