电商项目之用户启动 DWS 表 SQL 实现|学习笔记

简介: 快速学习电商项目之用户启动 DWS 表 SQL 实现

开发者学堂课程【新电商大数据平台2020最新课程电商项目之用户启动 DWS 表 SQL 实现】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/640/detail/10540


电商项目之用户启动 DWS 表 SQL 实现

 

用户启动 DWS

基于明细表进行公共汇总,根据对应的维度进行汇总,DWS 是单维度的,它只基于上面的某一个表,这个表就是DWD 刚创建的明细表。

启动次数是指计算用户的启动次数,在做数据分组的时候,不会按照 user id 分类,因为用户 ID 可能会有多个,它的启动次数相当于求它的 comment 有多少次。

这需要统一,当前用户启动多少次,另外的用户启动多少次,ID如果会变的话,这时候不能归为一类的 ID,在做的时候就会有问题,这时候虽然说是一个设备,但是每次 ID 都会变,所以在使用的时候,获取的是 log 表和 log 数据,所以获取的时候需要用统一的 ID,设备 ID 是比较统一的,根据设备号来进行 comment 聚合,然后再根据设备号进行分组。

单独将设备号拿出来,进行 comment,就可以求出启动的次数,用户用同一个设备启动多少次就是启动次数,这个不需要去除。在获取用户启动次数的时候不需要去除,只需要统计当前用户使用这个设备启动了多少次,这个时候相对来说比较简单一些,

如下进行操作

hives create database dws _nshop;oK

Time taken : 0.038 seconds

hive> create external table if not exists dws_nshop.dws_nshop_ulog_launch(

user_id string comment"用户id' ,

device_num string comment '设备号',

device_type string comment"设备类型",

os string comment"手机系统",

os_version string comment '手机系统版本',

manufacturer string comment"手机制造商',

carrier string commentT'电信运营商",

network_type string corenent "网络类型'

area_code string comment "地区编码",

launch_count int comment"启动次数">)

partitioned by (bdp_day string)

> stored as parquet

>location" /data/nshop/dws/user/dws_nshop_ulog_launch/ " ;

这张表依赖用户启动日志表,用户启动是对用户启动日志表进行工作汇总的力度支持,

接下来在笔记进行编写

Insert overwrite table dws_nshop.dws_nshop_ulog_launch partition( bdp_day= ' 2020032)

Elect

user_id ,

device_num ,

device_type,

os ,

os_version ,

manufacturer,

carrier ,

network_type,

area_code,

count(device_num) over(partition by device_num)as launch_countfrom dwd_nshop.dwd_nshop_actlog_launch

where

bdp_day= " 20200321"

相关文章
|
SQL 关系型数据库 MySQL
mysql sql语句删除一个库下的所有表
mysql sql语句删除一个库下的所有表
75 1
|
11月前
|
SQL 监控 关系型数据库
PolarDB产品使用问题之SQL防火墙怎么拦截没有指定WHERE条件的特定表的SQL语
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
11月前
|
SQL 分布式计算 DataWorks
MaxCompute操作报错合集之使用sql查询一个表的分区数据时遇到报错,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
142 2
|
12月前
|
SQL 存储 测试技术
|
12月前
|
SQL 存储 数据库
SQL 撤销索引、撤销表以及撤销数据库
SQL 撤销索引、撤销表以及撤销数据库
134 4
|
11月前
|
SQL 存储 数据库
MySQL设计规约问题之如何处理日志类型的表
MySQL设计规约问题之如何处理日志类型的表
|
SQL 存储 关系型数据库
MySQL数据库——SQL(1)-SQL通用语法、SQL分类、DDL(数据库操作、表操作)
MySQL数据库——SQL(1)-SQL通用语法、SQL分类、DDL(数据库操作、表操作)
127 1
|
SQL Java 数据库连接
动态 sql| 学习笔记
快速学习动态 sql。
150 0
|
SQL Java 数据库连接
动态 sql| 学习笔记
快速学习动态 sql。
342 0
|
9月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")

热门文章

最新文章