是否可以使用Kafka连接器与对象引用模式?



假设我需要使用Kafka Connect,而不是使用嵌套的模式结构,我想使用带有对象引用的模式。这个结构将使用id值来连接不同的对象。

例如:

{
"insured": [
{
"id": "INS001",
"typeCode": "Primary",
"sequenceNumber": 1,
"fullName": "Mr. Tim Carlieux",
"legalEntityTypeCode": "Person"
}
],
"address": [
{
"id": "ADR001",
"parentEntityName": "insured",
"parentEntityId": "INS001",
"typeCode": "Home",
"sequenceNumber": 1,
"line1": "19 8th Ave",
"city": "Acity",
"stateProvinceCode": "AZ",
"county": "Acounty",
"postalCode": 99999
}
],
"communication": [
{
"id": "COM001",
"parentEntityName": "insured",
"parentEntityId": "INS001",
"phoneNumber": "222-3478543",
"phoneTypeCode": "Phone"
}
]
}

在上面的例子中,我将使用address和/或communication中的parentEntityNameparentEntityId的组合来确定我引用的是insured中的哪个对象。

此外,addresscommunication部分中的对象可能并不总是将insured作为父对象-communication可能与任何数量的其他对象相关。

我相信在每个部分中获取id的值应该是简单的,前提是底层数据具有有意义的关系结构——这是我期望从RDBMS中得到的。但我不确定是否填充parentEntityName可以满足使用标准连接器。

典型的Kafka连接器是否适合这种结构?

Kafka Connect不能做任何这样的id查找(没有一个简单的消息转换,但这不是他们的意图)

你可以使用Kafka Streams或其他流处理库来扩展。在Connect处理数据之前/之后,将ID转换为一个完全定义的记录。您也不需要RDBMS。针对多个ktable的连接应该适用于简单的id

最新更新