Мы записываем данные из MySql в BigQuery.Мы установили некоторые индикаторы, такие как
- Вставить - если записи добавляются в первый раз, сохраните их с «I» в поле «Индикатор»
- Обновление - если запись имеет некоторые обновленныеданные, затем сохраните их с «U» в поле «Индикатор» и игнорируйте дубликаты записей, если они не были изменены.
Но в случае «Обновления» он также записывает дублированные записи, которые даже не изменились.Ниже приведен запрос, который мы сейчас используем для вставки данных в таблицу BigQuery.Какие изменения мы можем внести в этот запрос?
"insert into `actual_table`
(
Id,
...
)
select
temp.Id,
...
case when actual.Id is null then 'I'
when actual.Id is not null and actual.field1<>temp.field1 then 'U'
end as Indicator,
FROM `temp_table` temp
left outer join `actual_table` actual
on temp.Id= actual.Id"
Фактическая таблица - это таблица в BigQuery, тогда как временная таблица - это промежуточная таблица для bigquery.Каждый раз, когда мы читаем данные из MySql, мы сохраняем их во временной таблице.
Спасибо