Google bigquery 在BigQuery中定期创建视图

Google bigquery 在BigQuery中定期创建视图,google-bigquery,firebase-analytics,Google Bigquery,Firebase Analytics,我目前正在使用Firebase Analytics将用户相关数据导出到BigQuery 是否有一种方法可以在BigQuery中自动创建视图(例如,每24小时一次),因为Firebase的导出每天都会创建一个新表,或者一个视图从每天创建的表中收集数据。 是否可以使用WebUI执行这些操作?您可以在通配符表上创建一个视图,这样就不需要每天更新它。下面是一个视图定义示例,使用前面一个问题中的查询: #standardSQL SELECT *, PARSE_DATE('%Y%m%d', _TAB

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

是否有一种方法可以在BigQuery中自动创建视图(例如,每24小时一次),因为Firebase的导出每天都会创建一个新表,或者一个视图从每天创建的表中收集数据。
是否可以使用WebUI执行这些操作?

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

#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\u test\u testapp\u ANDROID.event\u view
(请确保选择一个未包含在
app\u events.*
扩展中的名称)。现在,您可以运行查询来选择昨天的事件,例如:

#standardSQL
SELECT event_dim
FROM `com_test_testapp_ANDROID.event_view`
WHERE date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY);
或过去七天的所有事件:

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

重要的是在视图的选择列表中有一列,允许您将
\u TABLE_后缀
限制在您感兴趣的任何时间范围内。

感谢您的回答@Elliott Brossard,这非常清楚。由于我希望使用的表模式与Firebase使用的表模式(非常)不同,我想知道是否可以创建一个新表,而不是创建一个视图,以便从Firebase exports每天创建的表中定期自动插入数据。然后它会删除Firebase创建的表以减少存储的数据量。在我看来,你可以做的一件事是运行查询并将结果写入其他表,然后删除Firebase表读取的数据。就账单而言,这可以吗?我的意思是,如果我从视图中选择single day,那么条件是否正确地传播到通配符表中,从而导致查询只触及单个数据表?是的,是的。您可以通过在UI中检查查询的字节计费估算来确认