可以在不填充数据的情况下创建 BigQuery 表/架构吗?

Posted

技术标签:

【中文标题】可以在不填充数据的情况下创建 BigQuery 表/架构吗?【英文标题】:Possible to create BigQuery Table/Schema without populating with Data? 【发布时间】:2015-06-11 05:16:57 【问题描述】:

是否可以在不先填充数据的情况下创建表模式?最好使用谷歌的 python 客户端。谷歌的文档似乎没有提供明确的是或否答案。他们建议 creating a table 进行查询,但这既不直观,又没有高度记录:

【问题讨论】:

请做一些研究和问题,比如可能吗?怎么做 ?我的代码有什么错误?强烈反对 SO 【参考方案1】:

在 python 中,您可以在表 API 端点上运行插入作业,这将创建一个空表,因为它记录在 here 您需要提供 TableResource

project_id = <my project>
dataset_id = <my dataset>
table_id = 'table_001'
dataset_ref = 'datasetId': dataset_id,
               'projectId': project_id
table_ref = 'tableId': table_id,
             'datasetId': dataset_id,
             'projectId': project_id
schema_ref = <schema comes here>
table = 'tableReference': table_ref,
         'schema': schema_ref
table = bigquery.tables().insert(
    body=table, **dataset_ref).execute(http)

**dataset_ref 是将内容复制到命名参数的python技巧

浏览其他python + bigquery 问题。

【讨论】:

如何对 进行表示?是不是像这样的json:“schema”:“fields”:[“name”:string,“type”:string,“mode”:string,“fields”:[(TableFieldSchema)],“description”:string ] 请参阅code.google.com/p/bigquery-e2e/source/browse/samples/ch05/… 了解设置架构的示例。 链接已失效。这是更新的:github.com/j450h1/bigquery-e2e/blob/master/samples/ch05/tour.py 最后一行“http”的值是多少?如果我们省略它,这对我们不起作用 - 但不清楚设置 http 值的内容。 是python连接流

以上是关于可以在不填充数据的情况下创建 BigQuery 表/架构吗?的主要内容,如果未能解决你的问题,请参考以下文章

创建存根 bigquery 表

如何在不创建架构的情况下将 CSV 文件加载到 BigQuery

在不使用表格的情况下从 BigQuery 中的 csv 文件中检索数据

如何在不使用 Join 的情况下处理引用其他表的相关子查询的问题

在不更改原始 RowState 的情况下对数据集中的数据表进行排序

SQL Server,如何在不丢失数据的情况下创建表后设置自动增量?