一、建表语句

create table dws_bhv_habo_measure_lostrate_mb_di(
version_flag bigint comment '版本标签 2:web丢失 3ios直播丢失 4安卓直播丢失',
query_version string comment '查询版本号',
is_video int comment '直播标签 1直播 0非直播',
sumcount bigint comment '总数',
actual_count bigint comment '实际上报数',
lost_rate string comment '丢失率')
partitioned by ( dt int comment '分区')

二、模型代码

set hive.exec.dynamic.partition.mode = nonstrict;
insert overwrite table taeget_tab partition(dt) select
version_flag,
query_version,
is_video,
sum(should) as sumcount,
sum(actual) as actual_count,
1 - sum(actual) * 1.00 / sum(should) as lost_rate,
dt
from(
select
dt,
did,
biz_type,
biz_name,
query_version,
version_flag,
is_video,
(max(req_idx) - min(req_idx) + 1) as should, --应该
count(distinct req_idx) as actual --实际
from(
--对各个客户端条件打标签
select
dt
,did
,req_idx
,is_video
,biz_type
,biz_name
--统一Web和App的字段
,IF(label_map['label_loss_02']='1'
,sdk_version,app_version) query_version
,case
when label_map['label_loss_03']='1' then 3 --ios直播丢失率条件
when label_map['label_loss_04']='1' then 4 --android直播丢失率条件
when label_map['label_loss_02']='1' then 2 --web丢失率条件
else -1
end as version_flag
from(
select
dt,
event_time,
video_time,
did,
gif,
sdk_version,
app_version,
biz_type,
biz_name,
client_type,
is_video,
label_map,
req_idx
from
base_table
where
dt = ${dt}
and client_type not in(-1,8, 9)
and biz_type = 7
)base_tab
) label_tab
group by
dt,
biz_type,
biz_name,
query_version,
did,
version_flag,
is_video
) out_tab
group by
dt,
version_flag,
query_version,
is_video

埋点-App层丢失率的更多相关文章

  1. [RK3288][Android6.0] 调试笔记 --- 录音音量从HAL到APP层会变小问题【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/72783843?locationNum=9&fps=1 Platform: Rockc ...

  2. Android 从上层到底层-----app层

    CPU:RK3288 系统:Android 5.1 功能:上层 app 控制 led 亮灭 开发板:Firefly RK3288 MainActivity.java package com.aaron ...

  3. rtc 关机闹钟1 app层

    private static void enableAlertPowerOn(Context context, final Alarm alarm, final long atTimeInMillis ...

  4. Android Native Binder,在Native层与App交互数据

    Binder底层是基于C实现的,因此可以作为Native进程与App层交互数据的渠道.其应用场景为:Native Service.Hal驱动设置.应用层JNI服务等. Android 4.4引入SEA ...

  5. 如何实现 javascript “同步”调用 app 代码

    在 App 混合开发中,app 层向 js 层提供接口有两种方式,一种是同步接口,一种一异步接口(不清楚什么是同步的请看这里的讨论).为了保证 web 流畅,大部分时候,我们应该使用异步接口,但是某些 ...

  6. Android学习系列(37)--App调试内存泄露之Context篇(下)

    接着<Android学习系列(36)--App调试内存泄露之Context篇(上)>继续分析. 5. AsyncTask对象 我N年前去盛大面过一次试,当时面试官极力推荐我使用AsyncT ...

  7. [Android Memory] App调试内存泄露之Context篇(下)

    转载地址:http://www.cnblogs.com/qianxudetianxia/p/3655475.html 5. AsyncTask对象 我N年前去盛大面过一次试,当时面试官极力推荐我使用A ...

  8. [编译] 6、开源两个简单且有用的安卓APP命令行开发工具和nRF51822命令行开发工具

    星期四, 27. 九月 2018 12:00上午 - BEAUTIFULZZZZ 一.前言 前几天给大家介绍了如何手动搭建安卓APP命令行开发环境和nRF51822命令行开发环境,中秋这几天我把上面篇 ...

  9. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  10. Android性能优化-App启动优化

    原文地址:https://developer.android.com/topic/performance/launch-time.html#common 通常用户期望app响应和加载速度越快越好.一个 ...

随机推荐

  1. 如何用Docker Compose部署项目?

    目录 前言 Docker Compose 1. Docker Compose是什么? 2. Docker Compose 的具体步骤 3. 如何在IDEA项目里面使用Docker Compose 启动 ...

  2. PictureMarkerSymbol透明的问题

    由于我使用的是位图图片,所以不可能将图片背景处理成透明.不过还是可以通过参数的设定来达到这种效果. PictureMarkerSymbol pPMS = new PictureMarkerSymbol ...

  3. 深入理解二叉查找树(BST)的重要查找操作

    二叉查找树 (Binary Search Tree, 简称 BST) 是一种基本的数据结构,其设计核心在于每个节点的值都满足以下性质: 左子树的所有节点值均小于当前节点值. 右子树的所有节点值均大于当 ...

  4. mybatis-plus 使用In查询

    第一种在Dao接口中自定义SQL查询,拼接xml字符串 UserDaoMapper.java @Select("<script>" +"select * fr ...

  5. NoSuchAlgorithmException

    今天在写UT时遇到了下面的问题: 1. 使用的powermock来处理static方法; 2. 静态方法里的却有使用到org.apache.http.client(4.3.1)的方法 异常如下: Ca ...

  6. Qt开源作品30-农历控件

    一.前言 农历控件在国产linux中必备的控件之一,毕竟要适应国人的习惯,你看win10系统的日历,现在点开来直接就有农历在上面,非常方便人性化,所以在很多用Qt做的项目中,也有农历控件的应用场景,而 ...

  7. torque提交作业

    PBS(Protable Batch System)是功能最为齐全,历史最悠久,支持最广泛的本地集群调度器之一. PBS的目前包括openPBS,PBS Pro和Torque三个主要分支.其中Open ...

  8. Windows安全加固(三)

    五.网络安全配置 协议安全 1.SYN攻击保护 指定触发SYN洪水攻击保护所必须超过的TCP连接请求数阈值为5:指定处于SYN_RCVD状态的TCP连接数的阈值为500,指定处于至少已发送一次重传的S ...

  9. react之Lazy和Suspense(懒加载)

    React.lazy React.lazy 函数能让你像渲染常规组件一样处理动态引入(的组件). 什么意思呢? 其实就是懒加载. 其原理就是利用es6 import()函数.这个import不是imp ...

  10. (一).NET 6.0 Swagger添加文档注释

    1.先给api加上标题注释和返回值注释 2.右键项目属性找到生成中的输出 勾选完成以后重新生成项目 3.在Program项目启动类中编写代码 4.最终效果如下