У меня есть несколько тысяч строк в таблице BigQuery, и при запуске конвейера с помощью следующей команды -
| 'WriteToBigQuery' >> beam.io.WriteToBigQuery('{0}:sample.table_name'.format(PROJECT),schema=schema,
write_disposition=beam.io.BigQueryDisposition.WRITE_TRUNCATE,
create_disposition=beam.io.BigQueryDisposition.CREATE_IF_NEEDED)
и это вызывает следующую ошибку -
RuntimeError: HttpBadRequestError: HttpError accessing <https://bigquery.googleapis.com/bigquery/v2/projects/tokyo-botany-302620/jobs?alt=json>: response: <{'status': '400', 'content-length': '3
14', 'x-xss-protection': '0', 'x-content-type-options': 'nosniff', 'transfer-encoding': 'chunked', 'vary': 'Origin, X-Origin, Referer', 'server': 'ESF', '-content-encoding': 'gzip', 'cache-contr
ol': 'private', 'date': 'Fri, 02 Apr 2021 19:15:22 GMT', 'x-frame-options': 'SAMEORIGIN', 'content-type': 'application/json; charset=UTF-8'}>, content <{
"error": {
"code": 400,
"message": "Invalid value for type: NUMERIC is not a valid value",
"errors": [
{
"message": "Invalid value for type: NUMERIC is not a valid value",
"domain": "global",
"reason": "invalid"
}
],
"status": "INVALID_ARGUMENT"
}
}
> [while running 'WriteToBigQuery/BigQueryBatchFileLoads/TriggerLoadJobsWithoutTempTables/TriggerLoadJobsWithoutTempTables']
Среда выполнения для Python - Python 2.7.16
Я хочу перезаписать существующие записи в таблице.
Пожалуйста помоги
Вы не можете перезаписать данные таким образом. Кроме того, среда выполнения python 2.7 больше не поддерживается.
Что делать в таком случае? У меня также нет python3 env в GCP.
Основываясь на кодах ошибок здесь: cloud.google.com/bigquery/docs/error-messages, это кажется большой проблемой, когда у вас что-то не так со схемой? На основе cloud.google.com/bigquery/docs/reference/standard-sql/… DECIMAL является псевдонимом для NUMERIC. Может, можно попробовать другие типы для проблемных полей?
Я попытался перейти на другие поля, такие как INTEGER или FLOAT, но по-прежнему получаю ту же ошибку -... "сообщение": "Недопустимое значение для типа: INTEGER / FLOAT не является допустимым значением", ...






Я изменил тип данных нескольких полей с «NUMERIC» на «INTEGER», но ошибка та же.