为了账号安全,请及时绑定邮箱和手机立即绑定

如何运行查询并以 csv 格式返回结果

如何运行查询并以 csv 格式返回结果

Go
慕妹3242003 2023-07-31 17:17:39
我正在尝试使用 BigQuery 命令行工具转换查询,而不是使用 Go 来完成,但我没有找到应该如何正确配置查询。我的命令将格式设置为 CSV、输出的最大行数、计费的最大字节数以及项目 ID;然后运行标准 SQL 查询并将输出写入 CSV 文件,同时删除顶部的标题和空行。以下是我使用命令行工具正确运行的命令:bq query --format csv \  --max_rows <max_row_int> --maximum_bytes_billed <max_bytes_billed_int> \  --project_id <project_id> "#standardSQL    <standard_sql_statment>  " \  | tail -n +3 >results.csv我可以从文档中看到,要在 Go 中运行查询,我需要创建客户端/连接,然后我应该能够运行查询,如下所示:ctx := context.Background()client, error := bigquery.NewClient(ctx, "<project_id_string>")if err != nil {    return nil, err}q := client.Query(<standard_sql_query>)如何在 Go 代码中的命令行工具代码中设置上面的配置标志?
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您可以使用包bigquery[1] [2] 中的 QueryConfig,它保存查询作业的配置。例如,您会发现MaxBytesBilled这是旗帜的类比--maximum_bytes_billed

保存输出结果不是 BigQuery 包的特定功能。您可以使用encoding/csv包 [3] 来实现此目的。

[1] - https://godoc.org/cloud.google.com/go/bigquery

[2] - https://github.com/googleapis/google-cloud-go/blob/master/bigquery/query.go#L26

[3] - https://golang.org/pkg/encoding/csv/


查看完整回答
反对 回复 2023-07-31
?
交互式爱情

TA贡献1712条经验 获得超3个赞

你可以执行你的脚本:

GOOGLE_CLOUD_PROJECT=项目 ID ./script.go


查看完整回答
反对 回复 2023-07-31
  • 1 回答
  • 0 关注
  • 132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信