将嵌套的 BigQuery 数据导出到云存储

flo*_*woo 6 java json google-bigquery google-cloud-datastore google-cloud-platform

我正在尝试通过 API 将 bigquery 数据导出到谷歌云存储桶。我从这里改编了一个代码片段 https://cloud.google.com/bigquery/docs/exporting-data

Job job = table.extract(format, gcsUrl);
// Wait for the job to complete
try {
  Job completedJob = job.waitFor(WaitForOption.checkEvery(1, 
TimeUnit.SECONDS),
      WaitForOption.timeout(3, TimeUnit.MINUTES));
  if (completedJob != null && completedJob.getStatus().getError() == null) {
    // Job completed successfully
  } else {
    // Handle error case
       System.out.println(completedJob.getStatus().getError());
  }
} catch (InterruptedException | TimeoutException e) {
  // Handle interrupted wait

}
Run Code Online (Sandbox Code Playgroud)

我已经用“JSON”交换了格式,因为我的数据是嵌套的,不能用“gs://mybucket/export_*.json”导出到 CSV 和 gcsUrl。但是错误消息告诉我以下问题:

transfer not working  BigQueryError{reason=invalid, location=null, message=Operation cannot be performed on a nested schema. Field: totals}
Run Code Online (Sandbox Code Playgroud)

有什么建议该怎么做?JSON 应该能够处理嵌套格式...

Ell*_*ard 5

谈到destinationFormat选项,你应该设置"NEWLINE_DELIMITED_JSON"format以变量出口为JSON。