当前正在将数据废弃并将其转储到cloudSQL postgres数据库上。此数据趋于呈指数增长,我需要一种有效的方法来执行查询。数据库每天增长约3GB,我希望至少保留数据3个月..因此,我已将CloudSQL连接到BigQuery ..以下是我在BigQuery上运行的查询示例,但我对此表示怀疑..不知道该查询是否在Postgres或BigQuery中执行..
SELECT * FROM EXTERNAL_QUERY("project.us-cloudsql-instance", "SELECT date_trunc('day', created_at) d, variable1, AVG(variable2) FROM my_table GROUP BY 1,2 ORDER BY d;");
好像查询是在postgreSQL中执行的,而不是BigQuery ..这是真的吗?如果是的话,有没有办法让我将数据从Postgresql实时加载到bigquery并直接在bigquery中执行查询?
尽管从技术上讲,可以将查询重写为
SELECT date_trunc('day', created_at) d, variable1, AVG(variable2)
FROM EXTERNAL_QUERY("project.us-cloudsql-instance",
"SELECT created_at, variable1, variable2 FROM my_table")
GROUP BY 1,2 ORDER BY d;
不过不推荐。更好地对CloudSQL进行聚合和过滤,以减少必须从CloudSQL传输到BigQuery的数据量。