数据仓库:缓慢变化维度(SCD)|DataWarehouse|DW什么是SCDSCD(Slowly Changing Dimensions),一般翻译成:缓慢变化维。
SCD的提出是因为,在现实世界中,维度的属性并不是静态的,它会随着时间的流逝发生缓慢的变化。
缓慢变化维度其实就是指,在维度表中那些会随着时间变化的字段,比如用户基本资料。
缓慢是一个相对的概念,与 ...
Read more
Flink的Tumbling Windows和Sliding Windows|Flink|FlinkFlink的窗口函数官网地址:https://ci.apache.org/projects/flink/flink-docs-release-1.7/dev/stream/operators/windows.html
在流系统中通常会使用到Windows来统计一定范围的数据,比如按时间、按个数等进行 ...
Read more
推荐系统:协同过滤算法|推荐系统|协同过滤-推荐系统协同过滤算法协同过滤算法是诞生最早,且较为著名的推荐算法,主要用于预测和推荐。
算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。
协同过滤推荐算法分为两类:基于用户的协同过滤算法(user-based collaborative filterin ...
Read more
Spark窗口函数|Spark|Spark窗口函数窗口函数引入
使用Spark SQL进行复杂的离线统计任务,有时需要计算一些排序特征、窗口特征等,显然不能简单地通过groupBy来完成,这时就需要了解spark中的窗口函数。
比如下面的统计需求:
统计订单表,每个店铺每个订单和前一单的价格和。此时如果通过groupBy来完成特别费劲。
统计订单 ...
Read more
数据仓库:拉链表|DataWarehouse|DW什么是拉链表拉链表是针对数据仓库中表存储数据的方式而定义的。
所谓拉链,就是记录历史,记录一个事物从开始,一直到当前状态的所有变化的信息。
下面的示例就是一张拉链表,存储的是用户的基本信息以及每条记录的生命周期。我们可以使用这张表拿到当天的最新数据以及之前的历史数据。
register_dat ...
Read more
数据仓库:模型设计和维度建模|DataWarehouse|DW数据仓库模型数据仓库中有几种经典的数据模型:范式模型、维度模型、DataVault。
很多模型的设计都在同构化,而且在工作中也不是单独地用一种模型,会根据业务场景做出选择。
范式模型范式是数据库逻辑模型设计的基本理论,一个关系模型可以从第一范式到第五范式进行无损分解。
在数据仓库的模型设计中目前一般 ...
Read more
Hive实现WordCount程序|Hive|HiveHive实现WordCountHive的底层执行引擎是MapReduce,既然MR程序可以实现单词统计,那么Hive也可以,而且相对于MR编程实现来说更容易,只需要编写SQL语句即可。
数据准备创建数据库:
create database wordcount;
切换至wordcount数据库:
us ...
Read more
HBase与Hive、Phoenix的集成&节点的管理|HBase|HBaseHBase与Hive的集成HBase与Hive的对比
Hive
HBase
特点
类SQL数据仓库
NoSQL (key - value)
适用场景
离线数据分析和清洗
适合在线业务
延迟
延迟高
延迟低
存储位置
存储在HDFS
存储在HDFS
HBase与Hive集成 ...
Read more
HBase的读写流程&HBase API|HBase|HBaseHBase读数据流程
HRegionServer保存着.META.的这样一张表以及表数据,要访问表数据,首先Client先去访问zookeeper,从zookeeper里面找到.META.表所在的位置信息,即找到这个.META.表在哪个HRegionServer上保存着。
接着Client通过刚才获 ...
Read more
HBase的RowKey设计|HBase|HBaseRowKey的重要性RowKey的特点:
类似于MySQL、Oracle中的主键,用于标示唯一的行;
完全是由用户指定的一串不重复的字符串;
HBase中的数据永远是根据 Rowkey 的字典排序来排序的。
RowKey的作用:
读写数据时通过RowKey找到对应的Region;
MemSto ...
Read more