командная строка bq для DML - PullRequest
0 голосов
/ 28 июня 2018

1) Есть ли способ запустить обновление и объединить статистику из командной строки bq?

2) если я сохраню этот запрос в файле (update.sql или merge.sql), могу ли я передать этот файл в качестве ввода в команду bq и выполнить.

Если мы можем сделать что-либо из вышеперечисленного, то я могу назвать его через скрипт в задании Informatica и сделать его частью заданий ETL для обработки после загрузки.

Спасибо за помощь. С уважением, Срикант

ОБНОВЛЕНИЕ cloud-dw-poc.PREPARED_LAYER.DW_ORDER_LINE_I TGT SET TGT.BILLABLE_FLAG = SRC.BILLABLE_FLAG FROM cloud-dw-poc.PREPARED_LAYER.ORDER_LINE_BILLABLE_FLG_VW SRC, ГДЕ TGT.INTEGRATION_ID = SRC.ORDER_LINE_ID

MERGE cloud-dw-poc.PREPARED_LAYER.DW_ORDER_LINE_I TGT USING cloud-dw-poc.PREPARED_LAYER.ORDER_LINE_BILLABLE_FLG_VW SRC ON (TGT.INTEGRATION_ID = SRC.ORDER_LINE_ID) ПРИ СООТВЕТСТВИИ С ПОТОМ ОБНОВЛЕНИЯ УСТАНАВЛИВАЕТ TGT.BILLABLE_FLAG = SRC.BILLABLE_FLAG

1 Ответ

0 голосов
/ 28 июня 2018

Вы можете выполнять запросы DDL через командную строку с помощью bq query следующим образом:

bq query --use_legacy_sql=false 'MERGE cloud-dw-poc.PREPARED_LAYER.DW_ORDER_LINE_I TGT USING cloud-dw-poc.PREPARED_LAYER.ORDER_LINE_BILLABLE_FLG_VW SRC ON (TGT.INTEGRATION_ID=SRC.ORDER_LINE_ID) WHEN MATCHED THEN UPDATE SET TGT.BILLABLE_FLAG=SRC.BILLABLE_FLAG'

Если вы предпочитаете передать запрос в виде файла, вы можете сделать:

cat merge.sql | bq query --use_legacy_sql=false

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...