Дубликаты BigQuery появляются после действия `insertAll` - PullRequest
0 голосов
/ 16 марта 2020

Мы синхронизируем c данные в нашем проекте от Postgres до BigQuery с пакетом google-cloud-bigquery python. Это наш рабочий процесс:

  1. Мы выбираем самую последнюю метку времени в соответствующей таблице BigQuery ( изменено )
  2. Затем мы выбираем все данные, которые были обновлены позднее. Метка времени BigQuery ( изменено ) из Postgres
  3. После этого мы удаляем строки, которые должны быть обновлены из BigQuery, с помощью DELETE FROM {table_name} WHERE id IN UNNEST(@ids) запрос
  4. Выполнение вставки новых строк (insertAll) с помощью метода google.cloud.bigquey.client.insert_rows для BigQuery

Мы делаем это каждые 3 часа каждый день.

Этот подход успешно работает, но есть проблема, что иногда мы получаем дублированные записи, это кажется, что это появляется после того, как данные взяты из буфера и сохранены в константной таблице.

Это известная проблема bigquery api ? Как избежать дублирования данных.

PS Мы также пробовали insertId, но это не помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...