我想从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);
我最初尝试使用TableField,但显然这些不是bigquery表中的字段。
提前致谢
最佳答案
BigQuery Export仅支持整个表导出!
如果只需要导出其中一部分,则应执行SELECT语句,然后将结果导出到CSV。
为此,您可以将目标表用于SELECT语句,然后删除该表(通过显式或通过设置过期来删除该表),或者可以使用所谓的匿名表-将select语句的结果临时存储在其中的表-您可以获取从jobs.get API-https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.query.destinationTable