【问题标题】:Firebase Analytics: export data to BigQuery as a dateFirebase Analytics:将数据作为日期导出到 BigQuery
【发布时间】:2017-09-23 19:56:19
【问题描述】:

我正在尝试记录事件并指定这些时刻发生的时刻。

例如:

Firebase.Analytics.FirebaseAnalytics.LogEvent ("EventGamePlayed", "sent_at", DateTime.Now.ToString ("yyyy-MM-dd hh:mm:ss"));

我想知道,一旦将其导出到 BigQuery,我是否可以将此参数用作日期/时间戳,这样我就可以获取上个月发生的所有 X 或 Y 事件。

谢谢!

【问题讨论】:

    标签: firebase google-bigquery firebase-analytics


    【解决方案1】:

    实际上,您可能不需要这个。引用Firebase schema for BigQuery exports,您可以在event_dim 中使用datetimestamp_micros。例如,要查找 4 月 1 日的活动,您可以:

    #standardSQL
    SELECT event
    FROM YourTable
    CROSS JOIN UNNEST(event_dim) AS event
    WHERE PARSE_DATE('%Y%m%d', event.date) = '2017-04-01';
    

    要查找 4 月 1 日 UTC 时间中午 12 点到下午 4 点之间发生的事件,您可以执行以下操作:

    #standardSQL
    SELECT event
    FROM YourTable
    CROSS JOIN UNNEST(event_dim) AS event
    WHERE TIMESTAMP_MICROS(event.timestamp_micros) BETWEEN
      '2017-04-01 12:00:00' AND '2017-04-01 16:00:00';
    

    【讨论】:

    • 这会起作用,但是将数据转换为实际的 DATE 或 TIMESTAMP 类型的好处是这些查询将工作得更快 - 可以更深入地对日期/时间戳的简单比较进行过滤
    • Firebase 不支持 DATETIMESTAMP 类型的事件;它们只能是 STRINGINT64FLOAT64 类型,所以这不是一个选项。
    • 但是当数据加载到 BQ 中时 - 它可以使用 PARSE_DATE/TIMESTAMP_MICROS 函数转换为正确的类型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 2020-12-13
    相关资源
    最近更新 更多