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)

相关内容

热门资讯

实测必看!边锋杭麻圈有挂(We... 实测必看!边锋杭麻圈有挂(WePoKer),太坑了竟然真的有挂(有挂教程)-哔哩哔哩这是由厦门游乐互...
透视有挂!边锋麻将有挂,wep... 1、透视有挂!边锋麻将有挂,wepoker真的能透视,详细有挂(有挂透明)-哔哩哔哩。2、边锋麻将有...
教程辅助(Wepoke工具)外... 教程辅助(Wepoke工具)外挂透明挂辅助工具(软件)德州ai机器人(2022已更新)(哔哩哔哩);...
揭秘攻略!雀神广东麻将神器软件... 《雀神广东麻将神器软件哪里买软件透明挂》是一款多人竞技的雀神广东麻将神器软件哪里买辅助透视游戏,你将...
透视数据!边锋斗地主透明器,w... 《边锋斗地主透明器软件透明挂》是一款多人竞技的边锋斗地主透明器辅助透视游戏,你将微扑克对手来到同一个...
实测必看!川麻圈辅助工具(we... 实测必看!川麻圈辅助工具(wepoKe),太坑了原来是真的有挂(有挂规律)-哔哩哔哩;川麻圈辅助工具...
玩家攻略(靠谱WPK)外挂透明... 靠谱WPK新手教程相关信息汇总(需添加指定薇757446909获取下载链接);玩家攻略(靠谱WPK)...
教学盘点!广东雀神麻将让系统发... 教学盘点!广东雀神麻将让系统发好牌(辅助挂)太坑了竟然是真的有挂(有挂规律)-哔哩哔哩;玩家必备必赢...
专业讨论!川麻圈辅助器手机版,... 专业讨论!川麻圈辅助器手机版,wepoker开挂作弊详细,详细有挂(有挂技巧)-哔哩哔哩1、点击下载...
透视黑科技!边锋老友棋牌是有挂... 大家肯定在之前边锋老友棋牌是有挂或者边锋老友棋牌是有挂中玩过透视黑科技!边锋老友棋牌是有挂(WEpo...