在运行 BigQuery 作业之前确定资源使用情况

Shi*_*raP 2 google-sheets google-bigquery google-sheets-api

我已成功将 Big Query 与 Google Sheets 集成。
由于我使用动态参数来决定查询的性质(例如时间范围),因此我想了解查询的“成本” - 运行需要多少 MB(或 KB 或 GB)。

在运行查询之前有什么办法可以得到这样的指示吗?

Mar*_*ann 5

是的,您可以使用 dryRun 标志。服务器会告诉您它将处理的数量

{
  "configuration": {
    "query": {
      "query": "SELECT SUM(a.field) FROM `project.dataset.table`",
      "useLegacySql": false
    },
    "dryRun": true
  }
}
Run Code Online (Sandbox Code Playgroud)

您需要评估提供的统计信息:

...
 "statistics": {
 "creationTime": "1526584760494",
  "totalBytesProcessed": "152193056",
  "query": {
   "totalBytesProcessed": "152193056",
   "totalBytesBilled": "0",
   "cacheHit": false,
...
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,没有字节被计费。您可以在实施之前在这里尝试一下: https: //cloud.google.com/bigquery/docs/reference/rest/v2/jobs/insert

由于 AppsScript 也使用 API,因此没有真正的电子表格细节。