Google bigquery 在一个表被另一个BigQuery脚本更新后,如何通过Google应用程序脚本运行BigQuery脚本?

Google bigquery 在一个表被另一个BigQuery脚本更新后,如何通过Google应用程序脚本运行BigQuery脚本?,google-bigquery,Google Bigquery,我为Google BigQuery开发了一个代码和数据都非常繁重的查询,这就是为什么我选择在多个脚本中运行它(并创建多个表)。我想要的是在更新选项卡a时(通过脚本a)运行脚本b(并创建表b)。我只看到设置时间事件的选项,我对javascripting没有太多经验。有人能举个例子吗 提前谢谢 圭多 您不能先启动查询A,等待它,然后再启动查询B吗?GBQAPI有适当的端点,允许这样做。@MarcinPietraszek这将是完美的。我在问题中添加了应用程序脚本。你能举个例子说明我需要修改什么吗@Ma

我为Google BigQuery开发了一个代码和数据都非常繁重的查询,这就是为什么我选择在多个脚本中运行它(并创建多个表)。我想要的是在更新选项卡a时(通过脚本a)运行脚本b(并创建表b)。我只看到设置时间事件的选项,我对javascripting没有太多经验。有人能举个例子吗

提前谢谢

圭多


您不能先启动查询A,等待它,然后再启动查询B吗?GBQAPI有适当的端点,允许这样做。@MarcinPietraszek这将是完美的。我在问题中添加了应用程序脚本。你能举个例子说明我需要修改什么吗@MarcinPietraszek我找到了这个API文档。我想我需要在启动脚本b之前评估脚本a的jobComplete是否为真,但我不知道如何将其写入代码。如果你能帮忙,我将不胜感激!我想我需要第二个函数来计算引发查询a的作业的Jobcomplete,但我真的很烂javascript:(是的,你需要编写另一个东西来检查特定作业的状态。当它完成并且没有错误时,你可以开始下一个。
  function saveQueryToTable() {
var sql = 'query-a';
var projectId = 'xxx';
var datasetId = 'xxx';
var tableId = 'xxx';
var job = {
    configuration: {
      query: {
        query: sql,
        writeDisposition:'WRITE_APPEND',
        allowLargeResults: 'TRUE',
        destinationTable: {
          projectId: projectId,
          datasetId: datasetId,
          tableId: tableId
        }       
      }
    }
  };

var queryResults = BigQuery.Jobs.insert(job, projectId);
  Logger.log(queryResults.status);
}

  function saveQueryToTable() {
var sql = 'query-b';
var projectId = 'xxx';
var datasetId = 'xxx';
var tableId = 'xxx';
var job = {
    configuration: {
      query: {
        query: sql,
        writeDisposition:'WRITE_APPEND',
        allowLargeResults: 'TRUE',
        destinationTable: {
          projectId: projectId,
          datasetId: datasetId,
          tableId: tableId
        }       
      }
    }
  };

var queryResults = BigQuery.Jobs.insert(job, projectId);
  Logger.log(queryResults.status);
}