大数据hive篇--临时表

一、临时数据方案

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: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值