首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过BigQuery命令行工具在bigquery中缓存

通过BigQuery命令行工具在bigquery中缓存
EN

Stack Overflow用户
提问于 2013-09-28 21:21:43
回答 2查看 381关注 0票数 3

我使用的是bigquery命令行工具。如何通过BigQuery命令行工具启用缓存。

EN

回答 2

Stack Overflow用户

发布于 2013-09-29 01:43:52

查询会自动缓存,但以下情况除外:

使用非确定性函数(如now()或rand() )的

  • 查询不会高速缓存指定目标表的查询(如果已在目标表中获得结果,则不需要高速缓存)。当任何源表change.
  • results仅高速缓存24小时时,将刷新
  • 高速缓存结果。

可以通过从查询中查找作业对象来查看这一点。例如:

代码语言:javascript
运行
复制
$ bq query select 17
Waiting on bqjob_r4c80a6944b4dff0_0000014165a4f730_1 ... (0s) Current status: DONE
+-----+
| f0_ |
+-----+
|  17 |
+-----+

这实际上运行了查询并将其添加到缓存中。现在让我们再运行一次:

代码语言:javascript
运行
复制
$ bq query select 17
Waiting on bqjob_r27fa3d897b8dfb3e_0000014165a66b50_1 ... (0s) Current status: DONE
+-----+
| f0_ |
+-----+
|  17 |
+-----+

查询结果应该是从缓存中获取的。这将在作业资源的statistics.query.cacheHit成员中可见。让我们检查一下:

代码语言:javascript
运行
复制
$ bq --format=prettyjson show -j bqjob_r27fa3d897b8dfb3e_0000014165a66b50_1
{
  "configuration": {
    "query": {
      ...
      "query": "select 17",
    }
  },
  ...
  "statistics": {
    "creationTime": "1380389907722",
    "endTime": "1380389908018",
    "query": {
      "cacheHit": true,
      "totalBytesProcessed": "0"
    },
    "startTime": "1380389907853",
  },
}
票数 4
EN

Stack Overflow用户

发布于 2020-02-05 06:01:19

https://cloud.google.com/bigquery/docs/cached-results中所述

  • 缓存在默认情况下处于启用状态
  • 它对新查询没有影响
  • 您可以使用--nouse_cache标志

从命令行禁用缓存

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19067433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档