在 BigQuery 中定期创建视图

Creating views periodically in BigQuery

我目前正在使用 Firebase Analytics 将用户相关数据导出到 BigQuery。

有没有办法在 BigQuery 中自动创建一个视图(例如,每 24 小时一次),因为从 Firebase 导出每天创建一个新的 table,或者从 table 每天创建。 是否可以使用 WebUI 执行此类操作?

您可以通过通配符 table 创建一个视图,这样您就不需要每天更新它。这是一个示例视图定义,使用您之前的一个问题中的查询:

#standardSQL
SELECT
  *,
  PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) AS date
FROM `com_test_testapp_ANDROID.app_events_*`
CROSS JOIN UNNEST(event_dim) AS event_dim
WHERE event_dim.name IN ("EventGamePlayed", "EventGetUserBasicInfos", "EventGetUserCompleteInfos");

假设您将此视图命名为 com_test_testapp_ANDROID.event_view(确保选择 app_events_* 扩展中未包含的名称)。现在您可以 运行 查询 select 昨天的事件,例如:

#standardSQL
SELECT event_dim
FROM `com_test_testapp_ANDROID.event_view`
WHERE date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY);

或过去 7 天的所有事件:

#standardSQL
SELECT event_dim
FROM `com_test_testapp_ANDROID.event_view`
WHERE date >= DATE_SUB(CURRENT_DATE(), INTERVAL 1 WEEK);

重要的部分是在视图的 select 列表中有一列,可让您将 _TABLE_SUFFIX 限制在您感兴趣的任何时间范围内。