首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Google BigQuery中进行表格操作?

如何在Google BigQuery中进行表格操作?
EN

Stack Overflow用户
提问于 2016-03-15 17:40:03
回答 2查看 212关注 0票数 2

希望就如何处理Google BigQuery中的表操作(重命名列)提供一些建议。

目前,我有一个包装器来完成这个任务。我的表是按日期划分的。如果我有一个表名的事实,我将有几个表的名称:

fact_20160301

fact_20160302

fact_20160303...等

重命名列包装器生成别名查询。即。如果我想将表模式从“地址”、“名称”、“城市”、“->”位置、“名”、“城镇”中更改

我执行批处理查询操作:select address as location, name as firstname, city as town

并在父表上执行WRITE_TRUNCATE。

我的主要问题在于BigQuery只支持50个并发作业。这意味着,当我提交我的批处理请求时,我一次只能完成大约30个分区,因为我想为运行的ETL作业预留20个位置。

此外,我还没有找到一种方法,您可以在批处理操作中执行poll_job来查看一个批处理中的所有作业是否已经完成。

如果有人有什么窍门,我很想听听。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-15 19:48:54

我可以提出两种选择

使用视图

视图创建非常简单,可以编写脚本并执行--与使用select into方法扫描整个表的成本相比,这是快速和免费的。

可以使用具有正确设置表格:插入属性的类型 API创建视图。

使用职务:插入提取,然后加载

在这里,您可以将表提取到GCS,然后用调整后的模式将其加载回GBQ。

以上方法将a)减少查询(扫描)表的成本,b)可以帮助克服限制。但可能不取决于表的实际容量和其他可能具有的需求。

票数 3
EN

Stack Overflow用户

发布于 2016-03-15 18:28:39

操纵模式的最佳方法是通过。

  1. 使用表获取api检索表的现有架构。https://cloud.google.com/bigquery/docs/reference/v2/tables/get
  2. 操作架构文件、重命名列等。
  3. 再次使用api对模式执行更新,将其设置为新修改的版本。所有这些都应该发生在一个作业中,https://cloud.google.com/bigquery/docs/reference/v2/tables/update
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36018361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档