Я пытаюсь создать образец файла .avro
, содержащий bytes
в качестве типа и decimal
в качестве логического типа, но файл avro
при загрузке в таблицу кустов приводит к другому значению. В чем может быть причина?
schema.avs c:
{
"type" : "record",
"name" : "example",
"namespace" : "com.xyz.avro",
"fields" : [ {
"name" : "cost",
"type" : {
"type" : "bytes",
"logicalType" : "decimal",
"precision" : 38,
"scale" : 10
}
}]
}
data. json:
{ "cost" : "0.0" }
Преобразовано в .avro
с использованием avro-tools
:
java -jar avro-tools-1.8.2.jar fromjson --schema-file schema.avsc data.json > data.avro
После загрузки data.avro
и запроса таблицы улья:
hive> select cost from tmp_cost;
OK
0.0003157552
Аналогичный вопрос по SO: создание json представления для десятичного логического типа и типы байтов для схемы avro