我正在尝试创建一个样本 .avro
文件包含 bytes
作为类型和 decimal
作为logicaltype,但是 avro
文件加载到配置单元表时会产生不同的值。原因是什么?
架构.avsc:
{
"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的一个类似问题是:为decimal逻辑类型创建json表示,为avro模式创建byte类型
暂无答案!
目前还没有任何答案,快来回答吧!