Как создать новую таблицу и указать поле time_partitioning_? - PullRequest
0 голосов
/ 07 июня 2018

Ранее я создавал таблицы с временным разделением, используя командную строку, поэтому у меня было что-то вроде:

bq mk --table --schema [MY SCHEMA] --time_partitioning_field the_dates --project_id=my_proj my_dataset.new_table

Как мне преобразовать этот код в python, указав команду --time_partitioning_field?Я не могу найти никакой документации, чтобы поддержать это.

Что у меня есть:

from google.cloud import bigquery
client = bigquery.Client()
dataset_name = 'my_dataset'
table_name = 'new_table'

schema = [
    bigquery.SchemaField('the_dates', 'TIMESTAMP'),
    bigquery.SchemaField('a', 'FLOAT'),
    bigquery.SchemaField('b', 'FLOAT'),
    bigquery.SchemaField('c', 'FLOAT'),
    bigquery.SchemaField('d', 'FLOAT'),

]


dataset_ref = client.dataset(dataset_name)
table_ref = dataset_ref.table(table_name )
table = bigquery.Table(table_ref, schema=schema)
table = client.create_table(table)

Где или как мне указать флаг --time_partitioning_field?

1 Ответ

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

Создайте таблицу в запросе с использованием StandardSQL и DDL.

Например:

#standardSQL
CREATE TABLE `fh-bigquery.wikipedia_v2.pageviews_2016` (
   datehour TIMESTAMP, wiki STRING, title STRING, views INT64
)
PARTITION BY DATE(datehour)
OPTIONS(
   description = 'Wikipedia pageviews from http://dumps.wikimedia.your.org/other/pageviews/'
   , require_partition_filter = true
 )

Дополнительные советы:

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