Как отправить несколько запросов в Google BigQuery Composer и Cloud Shell - PullRequest
0 голосов
/ 17 мая 2018

Простой вопрос, пожалуйста, не говорите мне, что отправка нескольких запросов не поддерживается в Query Composer и Google Cloud Shell.

Когда я отправляю два оператора (например, операторы отбрасывания таблицы, разделенные символом ";"), это говорит мне о том, что пропущенное слово в следующей строке неожиданно.

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Оказывается, что нет способов выполнить несколько запросов ни в BigQuery Composer, ни в Google Cloud Shell. Однако я нашел один обходной путь - создать локальный текстовый файл в Cloud Shell, в котором хранятся запросы, разделенные символом «;». А затем установите IFS (Внутренний разделитель полей) на «;» так что я могу использовать цикл for для обхода файла и выполнения запросов один за другим. Пример:

queries.txt

select 1+2;
select 2+3;
select 3+4;

Команда Cloud Shell

IFS=";"
alias bqn="bq query --nouse_legacy_sql"
for q in $(<"queries.txt"); do bqn $q; done;
0 голосов
/ 25 мая 2018

Google BigQuery является языком, подобным SQL, и не все реализации основного языка SQL будут напрямую совместимы с BigQuery.

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

Это команда с флагом истечения срока действия:

bq --location=[LOCATION] mk --dataset --default_table_expiration [INTEGER] --description [DESCRIPTION] [PROJECT_ID]:[DATASET]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...