BigQuery事件计算



我有一个带有开始日期时间和event_name的事件表。Event_name可以属于开始事件,也可以属于结束事件。我需要用以下规则计算开始和结束事件对的日期时间之间的差异之和:停止事件日期时间减去停止事件日期之前最早的开始事件日期时间,例如:

开始1,开始2,停止1,开始3,停止2

sum((Stop1 - Start1),(Stop2-Start3)).

你有一些想法如何使用sql与分析函数?从我的角度来看,循环将是必要的,因此存储过程(这是不可能的)或apache beam与数据流计算数据。

您可以尝试遵循Bigquery SQL来查找两个DATETIME字段之间的差异。转诊医生。

SELECT DATETIME_DIFF(DATETIME '2018-02-20', DATETIME '2018-01-15', DAY) as days_diff;

然后你可以写一个Apache Beam代码从BQ读取数据使用BQ- sql你已经创建了上面,然后应用所有转换逻辑,你可以写到目标(BQ表或GCS或BT)。在这里,您将获得示例Beam代码。

最新更新