【问题标题】:how do you map java localdatetime to avro你如何将 java localdatetime 映射到 avro
【发布时间】:2023-01-27 08:11:09
【问题描述】:

我正在了解我们如何将 java 中的 localdatetime 映射到 avro。

正确使用

   {
      "name": "example",
      "type": ["null", {"type": "int", "logicalType": "timestamp-millis"}],
      "default": null
    }

我如何在我的 avro 对象上设置它..

LocalDateTime localDateTime = LocalDateTime.now();
long epochMillis = localDateTime.toInstant(ZoneOffset.UTC).toEpochMilli();

avro 不应该定义为 Long 吗?

【问题讨论】:

    标签: java datetime avro


    【解决方案1】:

    As the spec says

    time-millis 逻辑类型注释 Avro int,其中 int 存储午夜后的毫秒数,00:00:00.000。

    所以,尝试铸造

    int epochMillis = (int) localDateTime.toInstant(ZoneOffset.UTC).toEpochMilli();
    avroFoo.setExample(epochMillis);
    

    【讨论】:

      猜你喜欢
      • 2016-06-01
      • 1970-01-01
      • 2016-02-25
      • 2023-03-07
      • 1970-01-01
      • 2015-06-23
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多