BigQuery - 导出 CSV 某些列

Gon*_*o.- 1 java csv google-bigquery google-cloud-platform

我想从 bigQuery 导出表或视图,但我不需要导出所有内容:我只需要导出某些列。如何配置要导出的内容?

我目前的代码是这样的:

BigQuery bigQuery = BigQueryOptions.getDefaultInstance().getService();
Field fieldToExport = Field.of("column to export", LegacySQLTypeName.STRING);
Table table = bigQuery.getTable("mybigqueryid", "mytable", /* here it only accepts tableOptions, not fields*/);
String format = "csv";
String bucketPath = "mybucketpath.csv";
Job job = table.extract(format, bucketPath);
Run Code Online (Sandbox Code Playgroud)

我一开始尝试使用 TableField,但显然这些不是 bigquery 表中的字段。

提前致谢

Mik*_*ant 6

BigQuery Export 仅支持整表导出!

如果您只需要导出其中的一部分 - 您应该执行 SELECT 语句,然后将结果导出到 CSV。
为此,您可以将目标表用于 SELECT 语句,而不是删除该表(显式或通过对其设置过期时间),或者您可以使用所谓的匿名表 - 这是您的选择语句的结果临时存储的位置 - 您可以获得它来自jobs.get API - https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.query.destinationTable