Как загрузить данные из запроса в таблицу на BigQuery - PullRequest
0 голосов
/ 15 октября 2018

У меня есть следующие BigQuery таблицы:

orders:

[
    {
        "name": "orders_id",
        "type": "INTEGER",
        "mode": "NULLABLE"
    },
    {
        "name": "customer_id",
        "type": "INTEGER",
        "mode": "NULLABLE"
    }
]

customers:

[
    {
        "name": "customer_id",
        "type": "INTEGER",
        "mode": "NULLABLE"
    },
    {
        "name": "customer_name",
        "type": "INTEGER",
        "mode": "NULLABLE"
    }
]

Я хочу создать new_orders следующим образом:

[
    {
        "name": "orders_id",
        "type": "INTEGER",
        "mode": "NULLABLE"
    },
    {
        "name": "customer_name",
        "type": "INTEGER",
        "mode": "NULLABLE"
    }
]

Поэтому я создал пустую таблицу для new_orders и написал этот запрос:

SELECT o.orders_id,c.customer_name
from `project.orderswh.orders` as o
inner join `project.orderswh.customers` as c  on o.customer_id = c.customer_id

Моя проблема заключается в том, как загрузить данные из этого результата запроса вновый стол.У меня как 15М рядов.Насколько я знаю, обычные вставки стоят дорого и невероятно медленно.Как я могу сделать это в качестве нагрузки?

Ответы [ 2 ]

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

Вы можете сделать это из BigQuery Console

Выполните следующие действия:

1) Show Options 

2) Destination Table 

3) choose dataset and provide "new_orders" as Table ID 

4) then set "Write Preference" to "Write if empty" as this is one time thing as you said

При необходимости посмотрите также этот учебник: https://cloud.google.com/bigquery/docs/writing-results

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

Вы можете использовать инструмент командной строки bq :

    bq query --append_table \
             --nouse_legacy_sql \
             --allow_large_results \
             --destination_table project.orderswh.new_orders 'SELECT o.orders_id,c.customer_name
from `project.orderswh.orders` as o
inner join `project.orderswh.customers` as c  on o.customer_id = c.customer_id'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...