hadoop—是否可以将时间戳存储在avro中,并在不进行任何转换的情况下将其读回?

kmynzznz  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(247)

尝试使用avro文件格式在配置单元中存储时间戳值,因为我们不支持使用逻辑列在配置单元中为数据类型添加时间戳。
样品:

CREATE TABLE avro_table_willi (a string, b long )
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
TBLPROPERTIES (
  'avro.schema.literal'='{
    "type": "record",
    "name": "my_record",
    "fields": [
      {"name": "a", "type": "int"},
      {"name": "b", "type": "long", "logicalType": "timestamp-millis" }

          ]}');

有没有人能帮我理解,在avro的hive中使用logicaltype数据类型存储时间戳值并将其读回时间戳是可能的。
我可以理解在读取时将时间戳存储到bigint/string的不同方法。
但是在找logicaltype的帮助。

暂无答案!

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

相关问题