Я извлекаю строку данных из таблицы в MSSQL, столбец имеет тип «BIT».В реестре схем этот столбец, по-видимому, отображается на 'int8'.Если я вручную изменяю файл спецификации avro в моем весеннем проекте kafka, он выдает ошибку преобразования во время выполнения, говоря: «Найдено int, ожидая логическое значение».
, где / как мне преобразовать полученные 1 и 0 в логическое значение?Класс java создается из файла Avro.
Файл avro выглядит следующим образом:
{
"type": "record",
"name": "UserInfo",
"namespace": "com.poke.test.demo",
"fields": [
{
"name": "ID",
"type": "long"
},
{
"name": "IsActive",
"type": [
"null",
{
"type": "int",
"connect.type": "int8"
}
],
"default": null
}
]
}
Что я пытался сделать (предполагая, что он автоматически преобразуется):
{
"type": "record",
"name": "UserInfo",
"namespace": "com.poke.test.demo",
"fields": [
{
"name": "ID",
"type": "long"
},
{
"name": "IsActive",
"type": "boolean",
"default": false
}
]
}
Любые указатели на то, как метод преобразования будет сгенерирован из avro, будут очень полезны.Как преобразование даты и времени генерируется из файла avro, когда мы указываем правильный тип (LogicalType).