簡體   English   中英

不在 union [“null”,“int”] Avro 格式 org.apache.avro.UnresolvedUnionException

[英]Not in union [“null”,“int”] Avro Format org.apache.avro.UnresolvedUnionException

我有一個 java 程序,它以 avro 格式從 Oracle db 寫入數據。 我在寫作時在日期列上遇到了這個異常

org.apache.avro.file.DataFileWriter$AppendWriteException: org.apache.avro.UnresolvedUnionException: Not in union ["null","int"]: 2020-04-01

我正在使用 avro 1.9.2 版本。 下面是架構:

{
  "type": "record",
  "name": "some",
  "doc": "SOME",
  "namespace": "some.avro",
  "fields": [
    {
      "name": "SOME_DATE",
      "type": [
        "null",
        "int"
      ],
      "logicalType": "date",
      "default": null
    }
..

  ]
}

當我將以下模式與字符串一起使用時,它工作正常。

{"name":"SOME_DATE","type": ["null","string"]}

您的架構應如下所示:

{
  "type": "record",
  "name": "some",
  "doc": "SOME",
  "namespace": "some.avro",
  "fields": [
    {
      "name": "SOME_DATE",
      "type": [
         "null",
         { "type": "int", "logicalType": "date" }
      ],
      "default": null
    }
  ..

  ]
}

但是,您可能會在轉換具有默認值的聯合類型和該聯合內的邏輯類型時遇到一個令人討厭的問題。 ))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM