gpt4 book ai didi

python - 从 Python 3 和 Avro 1.7.6 开始,步骤是什么? (问答)

转载 作者:行者123 更新时间:2023-11-28 22:51:11 29 4
gpt4 key购买 nike

这是一个问答,这意味着我正在分享我对我遇到的问题的解决方案/答案:

问题是 getting started guide来自 apache 站点的并不完全是最新的,经过一些摆弄之后,我设法让示例工作。

  1. 首先从 here 获取最新版本
  2. 转到 lang 下的 py3 子文件夹并通过 python 3 构建项目(阅读更多 here )
  3. 在 python 代码所在的同一文件夹中创建 user.avsc。

    架构:

     {

    "namespace": "example.avro",
    "type": "record",
    "name": "User",
    "fields": [
    {"name": "name", "type": "string"},
    {"name": "favorite_number", "type": ["int", "null"]},
    {"name": "favorite_color", "type": ["string", "null"]}
    ]
    }
  4. 根据下面提供的代码创建 .py(请注意,我必须对 here 中的代码进行少量更改才能使其正常工作)。

    修改后的代码如下。

    import avro.schema
    from avro.datafile import DataFileReader, DataFileWriter
    from avro.io import DatumReader, DatumWriter

    schema = avro.schema.Parse(open("user.avsc").read())

    writer = DataFileWriter(open("users.avro", "wb"), DatumWriter(), schema)
    writer.append({"name": "Alyssa", "favorite_number": 256})
    writer.append({"name": "Ben", "favorite_number": 7, "favorite_color": "red"})
    writer.close()

    reader = DataFileReader(open("users.avro", "rb"), DatumReader())
    for user in reader:
    print(user)

    reader.close()

最佳答案

  1. 首先从 here 获取最新版本
  2. 转到 lang 下的 py3 子文件夹并通过 python 3 构建项目(阅读更多 here )
  3. 在 python 代码所在的同一文件夹中创建 user.avsc。

    架构:

     {

    "namespace": "example.avro",
    "type": "record",
    "name": "User",
    "fields": [
    {"name": "name", "type": "string"},
    {"name": "favorite_number", "type": ["int", "null"]},
    {"name": "favorite_color", "type": ["string", "null"]}
    ]
    }
  4. 根据下面提供的代码创建 .py(请注意,我必须对 here 中的代码进行少量更改才能使其正常工作)。

    修改后的代码如下。

    import avro.schema
    from avro.datafile import DataFileReader, DataFileWriter
    from avro.io import DatumReader, DatumWriter

    schema = avro.schema.Parse(open("user.avsc").read())

    writer = DataFileWriter(open("users.avro", "wb"), DatumWriter(), schema)
    writer.append({"name": "Alyssa", "favorite_number": 256})
    writer.append({"name": "Ben", "favorite_number": 7, "favorite_color": "red"})
    writer.close()

    reader = DataFileReader(open("users.avro", "rb"), DatumReader())
    for user in reader:
    print(user)

    reader.close()

关于python - 从 Python 3 和 Avro 1.7.6 开始,步骤是什么? (问答),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21878755/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com