Сохранение результата запроса в секционированную таблицу больших запросов - PullRequest
0 голосов
/ 30 октября 2018

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

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

С #standardSQL и DML:

INSERT INTO `project.dataset.table` (field1, field2, field3)
SELECT *
FROM `anothertable`
WHERE 'this is my query'

Если таблица уже разбита на одно поле, то все будет работать как положено.

Если он собирается на новый стол:

CREATE TABLE `project.dataset.table`
PARTITION BY DATE(timestamp)
AS
SELECT field1, field2, field3, timestamp
FROM `yourtable`
WHERE 'yourquery'
0 голосов
/ 30 октября 2018

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

Но вы можете сделать это, используя CLI, например:

bq --location = [LOCATION] запрос --destination_table [PROJECT_ID]: [DATASET]. [TABLE] --time_partitioning_field [COLUMN] --use_legacy_sql = false '[QUERY]'

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