当前位置: 首页 > 面试题库 >

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

燕青青
2023-03-14
问题内容

我正在尝试通过API将bigquery数据导出到Google云存储桶。我从这里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

}

由于数据是嵌套的,因此无法与“ 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}

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


问题答案:

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



 类似资料:
  • 我正试图从控制台/命令行将一个表从big query导出到google cloud storage。控制台作业运行了几分钟,并在没有任何错误代码的情况下出错,命令行作业在运行一段时间后也会出现以下错误: 提取操作中的BigQuery错误:错误处理作业“数据流-实验:BQJOB_R308FF0F73D1820A6_00000157F77E8AB9_1”:后端错误。作业中止。 上面给出了命令行的作业i

  • 我需要从Google Cloud Storage(GCS->Temp Table->Main table)中加载100个表到BigQuery。我创建了一个python进程,将数据加载到BigQuery中,并在AppEngine中进行调度。因为AppEngine最多有10min的超时时间。我已经在异步模式下提交了作业,并在稍后的时间点检查了作业状态。由于我有100个表,需要创建一个监控系统来检查作业

  • 我想把表数据从BigQuery导出到Google云存储。问题是,我需要从date1到date2的数据,而不是整个表的数据。 这是我在谷歌云帮助上发现的。没有使用where子句添加查询或限制数据的空间。

  • 问题内容: 我可以使用Golang将平面对象插入BigQuery中-如何将嵌套数据插入表中? 我的BigQuery模式如下所示(从示例中): 我的第一次插入尝试如下所示(示例): 哪个变平并插入没有问题。我只是在用visit_duration 但是,我需要遍历一个片段并添加到访问记录中。我试图建立一个 访问 对象(没有要测试的循环)并将其添加到行中,但它没有插入,并且我没有收到任何错误: - -[

  • 我正在创建一个asp.net页面,允许用户跨多个数据库搜索。 如果找到匹配项,我希望在主ListView中返回数据库名称。然后,我想在相应的数据库名称下,在嵌套的ListView中显示与搜索条件匹配的所有公司。 e. g.搜索:公司 后果 数据库1名称 数据库2名称 数据库3名称 如何引用和填充嵌套的ListView?

  • 我在另一个数据表中使用一个数据表。当我尝试使用数据导出器导出(任何格式)时,我得到了类似于:“”而不是内部数据表值。 这是数据导出器的限制吗?我必须实现这个扩展数据导出器的功能?有其他选择吗?