生成avro文件,并写入二进制,使用python2,python3需要适配修改
1.avsc文件schema格式:
文件名:type111.avsc
{ "type": "record", "name": "test", "fields": [ {"name": "version", "type": "string"}, {"name": "name", "type": "string"}, {"name": "card", "type": "string"} ] }
2. 代码示例
#! -*- coding:utf-8 -*
import json
import os
import time
from io import BytesIO
import avro
from avro.datafile import DataFileWriter
from avro.io import DatumWriter, BinaryEncoder
# avsc文件夹,schema
avsc_dir = r"E:\avro_data\avsc_data"
# 生成的avro文件夹
avro_dir = r"E:\avro_data\data"
def generate_avro_file(data_list, schema_type):
"""
生成AVRO
:param data_list: 要写入的数据列表
:retur