Avro模式存在错误:TypeError:不可哈希类型:'dict'AvroSchema
创始人
2024-11-13 07:30:09
0

这个错误通常表示Avro模式中有一个不可哈希类型的嵌套字典。在处理嵌套字典时,需要将其转换为可哈希类型,例如元组。以下是一个示例,使用元组替换字典来解决这个问题:

import avro.schema

# 创建一个包含不可哈希类型字典的avro模式
schema_dict = {
    "namespace": "example.avro",
    "type": "record",
    "name": "user",
    "fields": [
        {"name": "name", "type": "string"},
        {"name": "address", "type": {
            "type": "record",
            "name": "mailing_address",
            "fields": [
                {"name": "street", "type": "string"},
                {"name": "city", "type": "string"},
                {"name": "state", "type": "string"},
                {"name": "zip", "type": "int"}
            ]
        }},
        {"name": "phone", "type": {"type": "map", "values": "string"}}
    ]
}

# 转换不可哈希类型字典为元组
schema_tuple = (
    "example.avro",
    "record",
    "user",
    [
        ("name", "string"),
        ("address", ("record", "mailing_address", [
            ("street", "string"),
            ("city", "string"),
            ("state", "string"),
            ("zip", "int")
        ])),
        ("phone", ("map", "string"))
    ]
)

# 使用转换后的元组创建avro模式
schema = avro.schema.make_avsc_object(schema_tuple)

相关内容

热门资讯

不少玩家反映!hhpoker透... 不少玩家反映!hhpoker透视脚本视频(透视)好像是真的辅助插件(有挂技术)-哔哩哔哩1、下载好h...
透视透视!智星菠萝可以辅助吗(... 透视透视!智星菠萝可以辅助吗(透视)好像真的是有辅助辅助器(有挂助手)-哔哩哔哩1、智星菠萝可以辅助...
透视玄学!we poker辅助... 透视玄学!we poker辅助器下载(透视)本来有辅助安装(有挂总结)-哔哩哔哩1、这是跨平台的we...
相较于以往!约局吧开挂神器是真... 相较于以往!约局吧开挂神器是真的吗(透视)竟然有辅助平台(有挂解密)-哔哩哔哩1、起透看视 约局吧开...
据目击者称!如何判断wpk辅助... 据目击者称!如何判断wpk辅助软件的真假(透视)本来是有辅助安装(果真有挂)-哔哩哔哩进入游戏-大厅...
据通报!wejoker透视方法... 据通报!wejoker透视方法(透视)其实存在有辅助工具(有挂细节)-哔哩哔哩1、据通报!wejok...
此事迅速冲上热搜!WePOke... 此事迅速冲上热搜!WePOker有没有透视方法(透视)一贯有辅助平台(有挂透视)-哔哩哔哩1、WeP...
透视了解!wepokerh5破... 透视了解!wepokerh5破解(透视)一贯是有辅助修改器(有挂方针)-哔哩哔哩1、首先打开wepo...
截至目前!wepoker提高好... 截至目前!wepoker提高好牌率(透视)原来是真的辅助软件(今日头条)-哔哩哔哩1、在wepoke...
透视辅助!菠萝辅助器免费版的特... 透视辅助!菠萝辅助器免费版的特点(透视)果然是有辅助app(有挂教学)-哔哩哔哩1、超多福利:超高返...