zoukankan      html  css  js  c++  java
  • python3 读取avro文件

    官网示例文档:http://avro.apache.org/docs/current/gettingstartedpython.html#download_install

    需要注意的是,官网给出的是py2.x的示例代码。

    py3 需要做一些改动:

    1. 首先你需要下载avro_python3 而不是avro
    2. 然后对代码做以下调整(黄底部分)
      import avro.schema
      from avro.datafile import DataFileReader, DataFileWriter
      from avro.io import DatumReader, DatumWriter
      
      schema = avro.schema.Parse(open("user.avsc", "rb").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()
    3. 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"]}
     ]
    }
  • 相关阅读:
    【C#】项目优化实战
    【NoSql】Redis
    【算法】非递归的方式生成树
    工作4年的一些想法
    【NoSql】MongoDb
    【微信开发】 前端
    【微信开发】常用 api
    [MVC] DIV 布局
    [Swift] 疑难杂症
    《你不懂我,我不怪你》
  • 原文地址:https://www.cnblogs.com/champaign/p/11167950.html
Copyright © 2011-2022 走看看