Я получил следующую ошибку при загрузке числовых данных c (int64 или float64) из Pandas фрейма данных в "Numeri c" Тип данных Google BigQuery:
pyarrow.lib.ArrowInvalid: Получена длина строки 8 (ожидается 16)
Я попытался изменить тип данных поля 'tt' с Pandas датафрейм без результатов:
df_data_f['tt'] = df_data_f['tt'].astype('float64')
и
df_data_f['tt'] = df_data_f['tt'].astype('int64')
Использование схемы:
job_config.schema = [
...
bigquery.SchemaField('tt', 'NUMERIC')
...]
Чтение этого google-cloud- python отчета о проблемах Я получил:
NUMERI C = pyarrow.decimal128 (38, 9)
Поэтому "Numeri c" Google BigQuery Тип данных использует больше байтов, чем «float64» или «int64», и поэтому pyarrow не может соответствовать типам данных.
У меня есть:
Python 3.6.4
pandas 1.0.3
pyarrow 0.17.0
google-cloud-bigquery 1.24.0