数据仓库
文章平均质量分 81
Data_IT_Farmer
BJUT 2014级 计算机学院小硕一枚,现为某上市金融公司--高级大数据开发工程师一枚。自20170701开始记录自己的技术工作生涯!广结天下技术之友,笑对未来技术之难题!
展开
-
SparkSQL—最大连续登录天数、当前连续登录天数、最大连续未登录天数问题
Hive SQL——最大连续登录天数、当前连续登录天数、最大连续未登录天数问题1、数据准备表字段:用户、新增日期、活跃日期 原数据表:user_active表1.1、测试数据:比较date和timestamp类型CREATE TABLE test_user_active( name string, install_date timestamp, active_date timestamp);insert overwrite table test_user_act.转载 2021-04-26 13:23:31 · 2213 阅读 · 0 评论 -
Hive SQL经典使用场景示例
HQL每天购课总额前三的用户原始数据 with tbl_order as ( select '2019-01-01' as dt, 1 as uid, '数学' as course_id, 50 as price union all select '2019-01-01' as dt, 2 as uid, '数学' as course_id, 50 as price union all select '2...原创 2021-04-16 20:47:33 · 669 阅读 · 0 评论 -
Hive分析窗口函数 GROUPING SETS、GROUPING__ID、CUBE、ROLLUP使用说明和示例
Hive分析窗口函数 GROUPING SETS、GROUPING__ID、CUBE、ROLLUP使用说明和示例0、概述GROUPING SETS:根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果集进行UNION ALL GROUPING__ID:表示结果属于哪一个分组集合,属于虚字段 CUBE:根据GROUP BY的维度的所有组合进行聚合。 ROLLUP:为CUBE的子集,以最左侧的维度为主,从该维度进行层级聚合。这几个分析函数通常用于OLAP中,不能累加,而且需要根据不原创 2021-04-16 15:42:48 · 4750 阅读 · 1 评论 -
spark-sql创建时间维度表
1、概述:在数据分析,数据仓库和数据开发的过程中,经常会用到各种时间粒度,尤其是会按照各种时间粒度(进行上钻或者下钻)出统一逻辑报表数据,此时将面临分析时间粒度爆炸的问题(使用grouping set解决,见另一篇文章),所以有必要产出一个时间维度表。2、时间维度表建表语句CREATE TABLE if not exists dim_date_df( `dt` string comment '日期,格式为20200325,同分区格式', `new_dt` date comment '日期,原创 2021-04-16 15:00:53 · 1460 阅读 · 0 评论 -
MySQL 存储过程及创建时间维度表
一、概述存储过程MySQL 5.0 版本开始支持存储过程。存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。# SQL语句:先编译后执行存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。1.1、优点存储过程可封装,并隐藏复杂的商业逻辑。 存储过程可以回传值,并可以接受参数。转载 2021-04-15 20:35:34 · 748 阅读 · 0 评论 -
【数仓系列】数仓分层的意义价值及如何设计数据分层
文章目录一、前言 二、数仓建模 三、数仓分层 四、数仓的基本特征 五、数据仓库用途 六、数仓分层的好处 七、如何分层一、前言现在说数仓,更多的会和数据平台或者基础架构搭上,已经融合到整个基础设施的搭建上。这里呢,我们不说Hadoop各种组件之间的配合,我们就简单说下数仓分层的意义价值和该如何设计分层。二、数仓建模说到数仓建模,就得提下经典的2套理论: 范式建模 Inmon提出的集线器的自上而下(EDW-DM)的数据仓库架构。 维度建模 Kimbal...转载 2020-09-17 14:55:56 · 8094 阅读 · 1 评论 -
Hive的分析窗口函数SUM,AVG,MIN,MAX的例子
Hive中提供了越来越多的分析函数,用于完成负责的统计分析。抽时间将所有的分析窗口函数理一遍,将陆续发布。今天先看几个基础的,SUM、AVG、MIN、MAX。用于实现分组内所有和连续累积的统计。Hive版本为 apache-hive-0.13.1数据准备CREATE EXTERNAL TABLE lxw1234 (cookieid string,createtime string, --daypv INT) ROW FORMAT DELIMITEDFIELDS TE转载 2020-09-01 09:15:49 · 4692 阅读 · 0 评论 -
漫谈数据仓库之拉链表使用场景、原理和在Hive中的实现示例
一、全量表-增量表-拉链表-流水表-介绍1. 全量表:每天的所有的最新状态的数据,2. 增量表:每天的新增数据,增量数据是上次导出之后的新数据。3. 拉链表:维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录而已,通过拉链表可以很方便的还原出拉链时点的客户记录。4. 流水表: 对于表的每一个修改都会记录,可以用于反映实际记录的变更。拉链表和流水表的区别流水表存放的是一个用户的变更记录,比如在一张流水表中,一天的.转载 2020-05-27 22:06:05 · 3914 阅读 · 0 评论 -
Hive自定义函数UDF与transform的区别和使用例子
Hive自定义函数与transform的区别和使用例子 hive是给了我们很多内置函数的,比如转大小写,截取字符串等,具体的都在官方文档里面。但是并不是所有的函数都能满足我们的需求,所以hive提供了给我们自定义函数的功能。一般有两种方法:自定义内置函数 UDF(Java实现)和Transform关键字(Python)实现一、Transform关键字(Python)实现...转载 2020-03-29 23:40:13 · 1479 阅读 · 0 评论 -
Hive分析函数之SUM,AVG,MIN和MAX OVER(PARTITION BY xxx order by xxx,用于求一段时间内截至到每天的累计访问次数、平均访问次数、最小访问次数、最大访问次
Hive分析函数之SUM,AVG,MIN和MAX OVER(PARTITION BY xxx order by xxx,用于求一段时间内截至到每天的累计访问次数、平均访问次数、最小访问次数、最大访问次数Hive提供了很多分析函数,用于统计分析,比如SUM OVER PARTITION BY ORDER BY 是 实现分组累计的计算方法。本文先介绍SUM、AVG、MIN、MA...转载 2019-12-17 13:16:26 · 13417 阅读 · 0 评论 -
【数仓建模】星型模型和雪花型模型比较
一、概述维度模型是数据仓库领域的 Ralph Kimball 大师所倡导的,他的 The Data warehouse Toolkit-The Complete Guide to Dimensional Modeling 是数据仓库工程领域最流行的数据仓库建模的经典。维度建模从分析决策的需求出发构建模型,为分析需求服务,因此它重点关注用户如何更快速地完成需求分析,同时具有较好的大规模复杂查...转载 2019-09-21 13:24:55 · 2319 阅读 · 0 评论 -
理解维度数据仓库——事实表、维度表、聚合表
理解维度数据仓库——事实表、维度表、聚合表一、事实表在多维数据仓库中,保存度量值的详细值或事实的表称为“事实表”。一个按照州、产品和月份划分的销售量和销售额存储的事实表有5个列,概念上与下面的示例类似。 Sate Product Mouth Units Dollars W...转载 2019-05-23 21:16:22 · 22412 阅读 · 0 评论 -
大数据模块开发----数据仓库设计
大数据模块开发----数据仓库设计1.维度建模基本概念维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。数据集市可以理解为是一种"小型数据仓库"。1.1、维度表(dimension)维度表示你要对数据进行分析时所用的一个量,比如你要分析产品销售情况, 你可以选择按类别来进行分析,或按区域来分析。这样的按..分析就构成一个维...转载 2019-05-23 20:24:36 · 1182 阅读 · 0 评论