我使用的是bigquery命令行工具。如何通过BigQuery命令行工具启用缓存。
发布于 2013-09-29 01:43:52
查询会自动缓存,但以下情况除外:
使用非确定性函数(如now()或rand() )的
可以通过从查询中查找作业对象来查看这一点。例如:
$ bq query select 17
Waiting on bqjob_r4c80a6944b4dff0_0000014165a4f730_1 ... (0s) Current status: DONE
+-----+
| f0_ |
+-----+
| 17 |
+-----+
这实际上运行了查询并将其添加到缓存中。现在让我们再运行一次:
$ bq query select 17
Waiting on bqjob_r27fa3d897b8dfb3e_0000014165a66b50_1 ... (0s) Current status: DONE
+-----+
| f0_ |
+-----+
| 17 |
+-----+
查询结果应该是从缓存中获取的。这将在作业资源的statistics.query.cacheHit成员中可见。让我们检查一下:
$ 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",
},
}
发布于 2020-02-05 06:01:19
如https://cloud.google.com/bigquery/docs/cached-results中所述
--nouse_cache
标志从命令行禁用缓存
https://stackoverflow.com/questions/19067433
复制相似问题