Я извлекаю данные из Oracle, используя python 2.7 и fastavro.Я генерирую схему на основе типа данных столбца, предоставленного cx_oracle из output_type_handler, используя:
def output_type_handler(self, name, defaultType, size, precision, scale):
if defaultType == cx_Oracle.NUMBER:
type = {
"name": "NumColumn",
"type": ["null", "long"],
}
avro_schema.append(type)
elif defaultType == cx_Oracle.STRING:
type = {
"name": "StrColumn",
"type": ["null", "string"]
}
avro_schema.append(type)
else:
print("Datatype was not found")
Это работает очень хорошо, когда типы данных совпадают, но некоторые столбцы NUMBER имеют смешанный тип данных, включая значения None.Поэтому мне интересно, есть ли способ указать тип INT, LONG и Null для одного столбца NUMBER?