«Fastavro» ValueError: Decimal ('5') (type <class 'decimal.Decimal'>) не соответствует ['null', 'bytes'] в звездочках поля

Я использую fastavro и получаю сообщение об ошибке

      ValueError: Decimal('5') (type <class 'decimal.Decimal'>) do not match ['null', 'bytes'] on field stars

Читая эту документацию, десятичное число должно иметь тип байтов, но при этом я все равно получаю ту же ошибку.

Кто-нибудь сталкивался с этой проблемой и решил ее?

      schema = {
      'doc': 'Data export for BigQuery',
      'namespace': 'rating',
      'type': 'record',
      'name': 'rating',
      'fields': [
        {'name': 'review_date', 'type': ["null", {"type": "long", "logicalType": "timestamp-millis"}]},
        {'name': 'stars', 'type': ['null', 'bytes']},
        {'name': 'status', 'type': ['null', 'int', 'bytes']},
        {'name': 'order_number', 'type': ['null', 'int', 'bytes']}
      ],
}


if __name__ == '__main__':
    result = parse_schema(schema)
    payload = payload()

    # Writing
    with open('ratings.avro', 'wb') as out:
        writer(out, result, payload)

    # Reading
    with open('ratings.avro', 'rb') as fo:
        for record in reader(fo):
            print(record)

0 ответов

Другие вопросы по тегам