一、临时数据方案
1、with as
1.1 使用demo
with t1 as (
select
imei
,src_pkg
,src_type
,app_version_name
from bi_quickgame.dw_qgcrpk_boot_di
where day = '${etl_date}'
group by
imei, src_pkg, src_type, app_version_name
)
1.2 with as 执行分析
执行sql :
EXPLAIN
with t as(
select regexp_replace(reflect("java.util.UUID", "randomUUID"), "-", "") AS id --生成一个随机id
,'zengkun' as name
)
select * from t
union all
select * from t
;
执行结果:
产生2个id
总结:结果中可以看到,产生了两个不一样的id,说明reflect函数被执行了两次,即with as中的子查询被执行了两次。
查看执行路径:
Explain
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
STAGE PLANS:
Stage: Stage-1
Map Reduce
Map Operator Tree:
TableScan
alias: _dummy_table
Row Limit Per Split: 1
Statistics: Num rows:

最低0.47元/天 解锁文章

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



