Как загрузить данные, возвращенные из вызова API, непосредственно в BigQuery без сохранения в GCS? - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь написать python для:

  1. сбора данных josn или csv из API наших поставщиков,

  2. загрузки данных вBigQuery

В: Могу ли я загрузить данные непосредственно в BigQuery без сохранения в GCS?

Спасибо,

Редактировать: Client.load_table_from_dataframe может быть решением.

1 Ответ

0 голосов
/ 08 декабря 2018

Пара идей:

  • Используйте потоковый API BigQuery для вставки строк в таблицы.Обратите внимание, что это связано со стоимостью.
  • Используйте инструкцию INSERT, в которой вы передаете значения для вставки в виде параметров запроса .Вы должны использовать запрос в форме, где вы передаете array_of_structs в качестве параметра запроса типа ARRAY<STRUCT<x INT64, y STRING, z BOOL>> (структура должна иметь соответствующий тип строки, который вы хотите использовать).Обратите внимание, что для вызовов BigQuery существует максимальный размер запроса, который, если я правильно помню, составляет 10 МБ.

Запрос:

INSERT dataset.table (x, y, z)
SELECT x, y, z
FROM UNNEST(@array_of_structs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...