avroライブラリを使用してavroファイルからいくつかのデータを読み取っています。ファイルから33Kオブジェクトをロードするのに約1分かかります。これは私には非常に遅いように思えます。特に、Javaバージョンが同じファイルを約1秒で読み取る場合はそうです。
これがコードです、私は何か間違ったことをしていますか?
import avro.datafile
import avro.io
from time import time
def load(filename):
fo = open(filename, "rb")
reader = avro.datafile.DataFileReader(fo, avro.io.DatumReader())
for i, record in enumerate(reader):
pass
return i + 1
def main(argv=None):
import sys
from argparse import ArgumentParser
argv = argv or sys.argv
parser = ArgumentParser(description="Read avro file")
start = time()
num_records = load("events.avro")
end = time()
print("{0} records in {1} seconds".format(num_records, end - start))
if __name__ == "__main__":
main()