我正在使用以下 GoLang 包:https://godoc.org/cloud.google.com/go/bigquery
我的应用在 Google App Engine 中运行
如果我对文档的理解正确,应该可以使用作业将作业/查询的结果提取到 Google Cloud Storage。我认为文档不是很清楚,想知道是否有人有示例代码或其他帮助。
TL:DR
在使用 Go Lang 而不是命令行时如何访问临时表。
如何将 Bigquery 的结果提取到 GCS
** 编辑 **
我使用的解决方案
我创建了一个临时表并将其设置为查询结果的Dst(目标)并使用它创建了一个导出作业。
dataset_result.Table(table_name).Create(ctx, bigquery.TableExpiration(time.Now().Add(1*time.Hour)))
2018 年更新:
https://github.com/GoogleCloudPlatform/google-cloud-go/issues/547
获取表名:
q := client.Query(...)
job, err := q.Run(ctx)
// handle err
config, err := job.Config()
// handle err
tempTable := config.(*QueryConfig).Dst
最佳答案
How do I extract the result of my BigQuery to GCS
您不能直接将查询结果写入 GCS。您首先需要运行查询,将结果保存到永久表中,然后启动到 GCS 的导出作业。
https://cloud.google.com/bigquery/docs/exporting-data
How do I get access to the temporary table when using Go Lang instead of command line.
您调用作业 API,或者如果使用 Web UI,则查看查询历史记录。参见 here和 here .
https://cloud.google.com/bigquery/querying-data#temporary_and_permanent_tables
关于google-app-engine - 从 Google BigQuery 提取结果到云存储 golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42388804/