python - 如何创建一个新表并指定一个time_partitioning_field?

标签 python google-bigquery

以前,我使用命令行创建时间分区表,所以我有类似的东西:

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

在指定 --time_partitioning_field 命令时,如何将该代码转换为 python?我找不到任何文档来支持它。

我拥有的是:

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 标志?

最佳答案

使用标准 SQL 和 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
 )

更多提示:

关于python - 如何创建一个新表并指定一个time_partitioning_field?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50747459/

相关文章:

Python逆向工程师列表理解

python - 为什么 imaplib 在每封电子邮件后返回一个单独的括号?

mysql - 在 google bigquery 中选择内部案例语句

google-bigquery - 在大查询中加入大表

go - 如何通过q​​uery/cli/go获取BigQuery表的到期日期?

sql - BigQuery SQL,将 SQL 查询结果追加到现有表中

google-bigquery - 如何在没有 ProtoBuf 格式错误的情况下将数据加载到 BigQuery?

python - IPython 无法加载标准解释器工作的模块

python - Django:django 注册反向查找失败

python - Flask,使用不同的数据库连接、相同的模型多次注册相同的蓝图