英文:
Extracting result from Google BigQuery to cloud storage golang
问题
我正在使用以下的GoLang包:https://godoc.org/cloud.google.com/go/bigquery
我的应用程序在Google App Engine上运行。
如果我正确理解文档,应该可以使用作业将作业/查询的结果提取到Google Cloud Storage。我认为文档不太清楚,想知道是否有人有示例代码或其他帮助。
TL:DR
-
在使用Go语言而不是命令行时,如何访问临时表。
-
如何将我的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)
// 处理错误
config, err := job.Config()
// 处理错误
tempTable := config.(*QueryConfig).Dst
英文:
I am using the following GoLang package: https://godoc.org/cloud.google.com/go/bigquery
My app runs in Google App Engine
If I have understood the documentation correctly it should be possible to extract the result of a job/query to Google Cloud Storage using a job. I don't think the documentation is very clear and was wondering if anyone has an example code or other help.
TL:DR
-
How do I get access to the temporary table when using Go Lang instead of command line.
-
How do I extract the result of my Bigquery to GCS
** EDIT **
Solution i used
I created a temporary table and set it as the Dst (Destination) for the Query result and created an export job with it.
dataset_result.Table(table_name).Create(ctx, bigquery.TableExpiration(time.Now().Add(1*time.Hour)))
Update 2018:
https://github.com/GoogleCloudPlatform/google-cloud-go/issues/547
To get the table name:
q := client.Query(...)
job, err := q.Run(ctx)
// handle err
config, err := job.Config()
// handle err
tempTable := config.(*QueryConfig).Dst
答案1
得分: 1
如何将我的 BigQuery 结果提取到 GCS?
您无法直接将查询结果写入 GCS。您首先需要运行查询,将结果保存到永久表中,然后启动一个导出作业将结果导出到 GCS。
如何在使用 Go 语言而不是命令行时访问临时表?
您可以使用作业 API,或者在使用 Web UI 时查看查询历史记录。请参阅这里和这里。
英文:
> How do I extract the result of my BigQuery to GCS
You cannot directly write the results of a query to GCS. You first need to run the query, save the results to a permanent table, and then kick off an export job to 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.
You call use the jobs API, or look in the query history if using the web UI. See here and here.
https://cloud.google.com/bigquery/querying-data#temporary_and_permanent_tables
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论