数据仓库
文章平均质量分 80
isharpener
这个作者很懒,什么都没留下…
展开
-
Spark计算框架(Pair RDD行动和变换)
一、概念Pair RDD: 键值对形式的弹性分布式数据集,这是Spark中一种常见的数据类型,常用于聚合操作,也经常会将一些初始的ETL保存为键值对的格式。键值对RDD拥有不同于普通RDD的新操作,比如分组。二、变换算子对单个pair RDD 的变换(例子:{(1,2), (3, 4), (3, 6)})首先初始化该RDD:val rdd = sc.parallelize(Array((1, 2), (3, 4), (3, 6)))函数名目的示例结果reduce原创 2022-02-26 16:47:40 · 1177 阅读 · 0 评论 -
Spark HashShuffle与SortShuffle
一、Spark Shuffle 历史在Spark1.2之前,默认的Shuffle计算引擎是HashShuffleManager。而HashShuffleManager有一个非常严重的弊端,就是会产生大量的中间磁盘文件,进而大量的磁盘IO操作影响了性能。因此在Spark 1.2 以后的版本中,默认的ShuffleManager改成了SortShuffleManager。SortShuffleManager相较于HashShuffleManager来说,有了一定的改进。主要就在于,每个sask在进行shuf原创 2022-02-18 18:20:22 · 728 阅读 · 0 评论 -
Spark计算框架(基础RDD行动和变换)
一、概念RDD:弹性分布式数据集,简单来说就是元素的分布式集合,在Spark中,所有的工作都被表达为创建新的RDD,对以存在的RDD做变换,或者对RDD调用行动来计算得到一个结果变换:指对RDD进行一次操作,生成另外一个RDD的过程行动:指对RDD进行一次操作,返回一个计算结果的过程二、变换算子针对一个包含{1, 2, 3, 3}的RDD进行基本的变换函数名目的示例结果map()应用函数到RDD中的每一个元素,并返回一个结果RDDrdd.map(x原创 2022-02-12 15:28:47 · 879 阅读 · 0 评论 -
一般维度分类
一、退化维度1、概念退化维度的维度表可以被剔除,从而简化维度数据仓库的模式。当一个维度没有数据仓库需要的任何数据的时候就可以退化该维度。需要把退化维度相关数据迁移到事实表中,然后删除退化的维度。典型的退化维度有操作型事务控制号码,例如:订单号码,发票号码,提货单号码等2、针对订单号的退化维度订单事实表中的每个包含明细项的行都包括作为退化维度的订单号。与操作型表头/列表或父/子数据库不同,维度模型中的订单号通常与订单表头没有关联。我们可以将订单表头中的信息分到不同的维度中,例如订单日期和客户,但是原创 2021-12-16 16:57:57 · 672 阅读 · 0 评论 -
混合缓慢变化维度技术
一、概念混合缓慢变化维度:是将SCD的4种基础类型的其中几种合并使用的技术二、策略类型5:微型维度与类型1支架表该类型的的特点是将当前微型维度主键作为主维度的一个属性。该微型维度主键引用的是类型1属性,重写每个概要的变化,不必像类型2那样跟踪属性。若希望在缺乏事实度量时获得当前概要技术,或者希望基于客户当前概要上卷历史事实的时候,采用类型5是非常有必要的。逻辑上在展现区需要将主维度和微型维度支架表示为单一表,下图为数据模型在数据仓库和展现区的不用形式:注意:类型4微型维度这一术语是指某原创 2021-12-09 16:37:24 · 836 阅读 · 0 评论 -
缓慢变化维度处理技术
一、概念缓慢变化维度(SCD):这是一个针对于维度表定义的名词,指的是一些随着时间会发生变化的一些属性。二、变化跟踪策略不同的变化跟踪策略适用于不同的维度分析场景,以下类型没有好,更好,最好的区分。需要数据管理员结合当前业务过程和维度属性特征做选择。在这里,每种策略会分配一个SCD类型号,类型号是针对于维度属性而言,不是针对一张表,所以一张表内不同属性可以使用不同的SCD类型来跟踪变化。类型0:保持原始值该类型表示维度表的属性绝对不会变化,如客户的原始积分,或者日期维度表的大部分属性原创 2021-11-19 11:11:45 · 851 阅读 · 0 评论