#python #google-bigquery
#python #google-bigquery
Вопрос:
У меня есть новые записи для вставки в BQ. Как мне добавить только те, которых там нет? Дедупликация при загрузке.
например, у меня есть в BQ
id | text
-----
1 one
2 two
3 three
Я хочу добавить
3 three
4 four
и я хочу, чтобы в итоге
1 one
2 two
3 three
4 four
(таким образом, для дедупликации 3 three
записи).
Я хочу использовать скрипт на Python.
Ответ №1:
Вы всегда должны использовать операции на основе наборов. Просто используйте оператор MERGE . Сначала поместите их все в набор данных (я называю его источником) и объедините их в целевой набор данных (называемый target).
MERGE dataset.target T
USING dataset.source S
ON T.id = S.id
WHEN NOT MATCHED
INSERT(id, text)
VALUES(id, text)
Конечно, вы можете делать более мощные вещи, вы поняли идею. Отказ от ответственности: это не проверено.