【发布时间】:2020-03-26 17:26:51
【问题描述】:
我们使用 GCP 日志,这些日志通过日志接收器导出到 BigQuery。 我们没有大量的日志,但每条记录似乎都相当大。
使用 BigQuery 运行一个简单的查询似乎需要很多时间。我们想知道这是正常的还是我们做错了什么...我们可以做些什么来使它更实际地分析...
例如查询
SELECT
FORMAT_DATETIME("%Y-%m-%d %H:%M:%S", DATETIME(timestamp, "Australia/Melbourne")) as Melb_time,
jsonPayload.lg.a,
jsonPayload.lg.p
FROM `XXX.webapp_usg_logs.webapp_*`
ORDER BY timestamp DESC
LIMIT 100
需要
Query complete (44.2 sec elapsed, 35.2 MB processed)
谢谢!
【问题讨论】:
-
在其他支持索引的数据库上,将索引添加到
timestamp列将有助于查询。 -
谢谢!但 BigQuery 似乎没有使用索引...
-
像这样查询通配符表会影响性能。这是因为在执行查询之前需要读取它在 glob (
*) 中匹配的每个表的元数据。尝试减少扫描的表或在WHERE子句中使用_TABLE_SUFFIX。见:cloud.google.com/bigquery/docs/… -
好的,谢谢!当我手动指定日期时,它的工作速度要快得多。您知道是否有办法将元数据缓存一次,以便以后每次都可以使用它?
标签: google-cloud-platform google-bigquery google-cloud-logging