[英]How to write map to avro in java?
如何將avro編寫java.util.map? 在GenericData中,我看到了Record等的條目,但沒有Map的條目。 http://apache-avro.679487.n3.nabble.com/How-to-write-an-AVRO-map-Something-like-GenericData-Map-td3407527.html上存在相同的問題,但我不完全了解怎么做的。
Avro直接使用java.util.HashMap
。 您無需將其轉換為其他類型。 具體來說,沒有GenericData
類代表地圖,因此您只需將HashMap
直接放入GenericRecord
。
該答案的表格中列出了所有Avro到Java的轉換。 請注意,對於record
, enum
, array
和fixed
類型, GenericData
類是必需的,而對於map
不是。
可以像下面這樣在avro中定義地圖。 請注意,以下操作無效
{ "name": "id", "type": "map", "values" : "long" }
它必須這樣定義
{ "name": "id", "type": { "type": "map", "values" : "long" } }
例如
{
"type": "record",
"name": "MyData",
"fields": [
{ "name": "id", "type": { "type": "map", "values" : "long" } }
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.