首页 > 解决方案 > 如何在 Apache Avro 中重用逻辑类型

问题描述

我可以用这样的逻辑类型在 avro 中定义 UUID 类型

{
  "type":"record",
  "name":"Metadata",
  "namespace":"com.example",
  "doc":"Event metadata",
  "fields":[
    {
      "name":"messageId",
      "type": {
        "type": "string",
        "logicalType": "uuid"
      }
    }
  ]
}

但我想以某种方式重新使用 UUID:

{
  "type":"record",
  "name":"Metadata",
  "namespace":"com.example",
  "doc":"Event metadata",
  "fields":[
    {
      "name":"messageId",
      "type": "com.example.UUID"
    }
  ]
}
{
  "namespace" : "com.example",
  "name" : "UUID",
  "type": {
    "type": "string",
    "logicalType": "uuid"
  }
}

但是这个模式是无效的。如何在 Avro 中重用逻辑类型?

标签: avro

解决方案


推荐阅读