Bigquery Python API 按特定字段创建分区表
Posted
技术标签:
【中文标题】Bigquery Python API 按特定字段创建分区表【英文标题】:Bigquery Python API create partitioned table by specific field 【发布时间】:2018-07-11 10:33:19 【问题描述】:我需要在 Bigquery 中创建一个按特定字段分区的表。我注意到这只能通过 API Rest 获得。有没有办法通过 Python API 做到这一点?
有什么帮助吗?
【问题讨论】:
使用CREATE TABLE statement。 【参考方案1】:我的猜测是文档还没有更新(并不是滚动一个 http 请求和调用 API 无论如何都很难),因为如果您查看 BigQuery Python 客户端库的 code,它确实似乎支持在创建分区表时指定字段:
【讨论】:
【参考方案2】:扩展 Graham Polley 的回答:您可以通过设置 time_partitioning
属性来设置它。
类似这样的:
import google.cloud.bigquery as bq
bq_client = bq.Client()
dataset = bq_client.dataset('dataset_name')
table = dataset.table('table_name')
table = bq.Table(table, schema=[
bq.SchemaField('timestamp', 'TIMESTAMP', 'REQUIRED'),
bq.SchemaField('col_name', 'STRING', 'REQUIRED')])
table.time_partitioning = bq.TimePartitioning(field='timestamp')
bq_client.create_table(table)
【讨论】:
以上是关于Bigquery Python API 按特定字段创建分区表的主要内容,如果未能解决你的问题,请参考以下文章
用于读取记录数组的 BigQuery Java API:“不支持按名称检索字段值”异常
使用 Python API 使用 RECORD 字段更新 BigQuery 架构
如何使用 BigQuery Python API 附加查询结果