Я только начинаю работать с BQ и его клиентом Node.js, и для моего варианта использования я хотел бы вставлять или обновлять строки в зависимости от того, существуют ли они уже на основе уникального идентификатора, который хранится в одном из столбцов.
Я не вижу примеров в репозитории клиента узла, как обновить строку вместо внедрения.
Другими словами, я хочу запросить свою таблицу, чтобы увидеть, соответствует ли поле «id» уже x. Если он существует, я хочу заменить строку, если нет, я хочу ее ввести.
Как бы я это сделал?
Вы также можете использовать Bigquery
запрос на слияние с NodeJs
клиентом :
MERGE dataset.Inventory T
USING dataset.NewArrivals S
ON T.product = S.product
WHEN MATCHED THEN
UPDATE SET quantity = T.quantity + S.quantity
WHEN NOT MATCHED THEN
INSERT (product, quantity) VALUES(product, quantity)
Запросы merge
позволяют обновить элемент, если он существует в Bigquery
, или иным образом вставить его.
Если вам интересно, я написал статью, показывающую запрос на слияние и как удалять дубликаты в пакетных конвейерах с помощью BigQuery
Пожалуйста. Я обновил свой ответ ссылкой на статью, которую я написал ранее. Я надеюсь, что это может помочь вам. Если ответ полезен для вас, можете ли вы проголосовать? Спасибо.