为bytes类型创建示例avro数据

8ftvxx2r  于 2021-06-25  发布在  Hive
关注(0)|答案(0)|浏览(226)

我正在尝试创建一个样本 .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类型

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题