Bigquery - 如何将 QueryResponse 保存到表中?
Posted
技术标签:
【中文标题】Bigquery - 如何将 QueryResponse 保存到表中?【英文标题】:Bigquery - how to save QueryResponse to a table? 【发布时间】:2014-04-15 15:56:15 【问题描述】:我正在尝试执行此操作:
QueryRequest queryRequest = new QueryRequest().setQuery(query);
Jobs jobs = getBigquery().jobs();
Query queryResponse = jobs.query(PROJECT_ID, queryRequest);
QueryResponse execute = queryResponse.execute();
如何将响应保存到表格中?我在哪里设置目标表?在创建插入作业时,我可以在 JobConfigurationQuery 中设置它。如何使用查询作业执行此操作?
【问题讨论】:
这个类似问题的答案可能会有所帮助:***.com/questions/14622526/… 这适用于插入作业。它如何用于查询作业? IE。在调用 getBigquery().jobs.query() 时?由于并发作业数量的限制,我使用查询而不是插入。 【参考方案1】:如果要将结果保存为目标表,则需要使用 jobs.insert()。 jobs.query() 方法只是一种快捷方式,提供了一组有限的功能。在幕后,jobs.query() 的作用与jobs.insert() 完全相同。
如果您使用 jobs.insert() 达到并发作业限制,jobs.query() 将遇到完全相同的问题。也就是说,避免并发作业错误的一种方法是在查询作业中使用批处理优先级。
【讨论】:
谢谢。这就是我一直在寻找的。我对查询、插入和批处理作业感到困惑。以上是关于Bigquery - 如何将 QueryResponse 保存到表中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用气流将 bigquery 导出到 bigtable?架构问题