一些复杂却常用的指标取法
持续更新~
一、复购周期
SELECT memberid,createdatetime,
DATEDIFF(a.createdatetime,
(SELECT MAX(b.createdatetime)
FROM member_Repurchase_cycle_duble b
WHERE b.memberid=a.memberid
AND b.createdatetime<a.createdatetime)) AS diff
FROM member_Repurchase_cycle_duble a
ORDER BY memberid,createdatetime
二、数组展开
select
json_tuple(item, 'b')
from
(
select explode_outer(list) as item
from( select
from_json(b,'ARRAY<STRING>') as list
from a.xxx
where dt=get_dt_date(get_date(-1))
)a
)b
三、presto 与 spark
- presto 只能使用 cast as int ,不能变成 string
- spark 取昨天 sysdate(‘yyyyMMdd’,-1),presto 取昨天 current_date- interval ‘1’ day
- spark 变换日期类型 get_date() / get_dt_date()
本文介绍了如何计算复购周期,使用SQL查询从member_Repurchase_cycle_duble表中获取每个用户的最新购买间隔。此外,还展示了在大数据处理中如何通过数组展开操作进行数据转换,利用Spark和Presto的不同特性处理日期类型。对于Presto,特别指出其在类型转换上的限制。这些技巧对于理解和优化数据处理流程至关重要。
4313

被折叠的 条评论
为什么被折叠?



