Уточнение таблицы BigQuery с внешним поиском API - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть таблица в Google BigQuery.Таблица содержит адреса (датский) - например.Название улицы: "Bakkevej", Housenumber: "23" и Zip: "4305".

Поскольку мне нужно сопоставить данные с другой таблицей, содержащей универсальные (датские) идентификаторы адресов - называемые DAWAID - мне нужно найтиАдрес снова API и добавить DAWAID для адреса в отдельное поле в строке с именем DAWAID.

API размещен на: https://dawa.aws.dk/adresser и возвращает данные в виде JSON - но это возможновозвращаться как jsonp или ndjson.

Поиск упомянутого адреса будет выглядеть так: https://dawa.aws.dk/adresser?vejnavn=Bakkevej&husnr=23&postnr=4305

Итак, вопрос в том.Как бы я обошел все строки в таблице с помощью API и сохранил возвращенный DAWAID («id» в JSON).

Я подумал, что это можно сделать с помощью комбинацииbq, командная строка и curl - но это довольно далеко.

Есть ли способ сделать это в Google Cloud?

1 Ответ

0 голосов
/ 22 сентября 2018

BigQuery не включает способ внешнего поиска данных.

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

GCP включает систему, способную на это, Поток данных .В потоке данных вам в основном понадобится три составляющих конвейера:

  1. Источник BigQuery для получения строк из вашей текущей таблицы
  2. Преобразование, которое вам нужно будет написать, чтобы извлечь DAWAID и включитьчто в каждой строке
  3. Мойка BigQuery для записи строк с DAWID в новую таблицу.
...