- 博客(7)
- 收藏
- 关注
原创 数据仓库系列文章一:浅谈数仓设计
数仓设计指对数据仓库的各项组成进行规划,在正式建设数仓之前形成指导性建设方案。数仓设计主要分为两部分:数据仓库同操作型业务系统的数据接口设计和数仓自身建设设计。本文从多个方面探讨数仓的设计要点,给出需要注意的问题,提供部分实践建议。
2022-03-27 20:07:36
5592
3
原创 浅谈缓慢变化维度设计
前言维度会随着时间而变化,好的数据模型应具有追踪维度变化的能力。Kinball在维度建模工具箱一书中提出7种缓慢变化维度(Slowly changing Dimension, SCD)处理技术,本文将逐一详解,并辅以代码实现案例。其中类型1-4为基本设计方法,类型5-7为类型1-4相互组合形成,也成为混合设计方法。缓慢变化维度设计与实现维度属性不变的情况,在Kinball理论中成为类型0情况,如一个人的出生日期,这类属性一旦有值,将不在变化,可以视为常量。为辅助讲解,本文设定一个案例场景:为
2022-02-26 12:25:49
694
原创 详解MapReduce&Yarn工作原理及优化建议
目录前言基本知识MapReduce工作流程任务提交(Yarn)任务计算(MapReduce)相关优化推荐学习前言Hadoop的三个核心模块:HDFS、MapReduce(简称MR)和Yarn,其中HDFS模块负责数据存储,MapReduce负责数据计算,Yarn负责计算过程中的资源调度。在存算分离的架构中,三者越来越多的同其他框架搭配使用,如用Spark替代MapReduce作为计算引擎或者k8s替换Yarn作为资源调度工作。虽然已经有了许多替代框架,MapRed
2022-02-20 20:19:56
1269
原创 kinball<数据仓库工具箱>阅读笔记
一个数字量到底是事实还是维度属性,对设计者来说是一个两难的问题,很难做出决策。连续值数字基本上可以认为属于事实,来自于一个不太大的列表的离散数字基本可认为是维度属性。 由于与事实表比较,维度表通常要小的多,因此规范化或雪花模式实际上对数据库的总容量没有多大影响。一般对维度表存储空间的权衡往往需要关注简单性和可访问性。 避免独立数据集市方法,虽然独立的数据集市往往也采用维度建模方法,但是忽视了一致性原则。 项目可能包含多个业务过程,可以分多次迭代实现多个业务过程覆盖,而不是试图一次完成全部业务过程的覆.
2021-08-08 21:25:11
456
原创 Hive中Inner join、Outer join、Full join中on与where的执行计划与结果区别
背景本文主要讨论hive(版本2.3)中,不同join方式下on条件和where条件的区别,同时关注hive中如何执行语句。比如谓词下推,就是其中一种优化技术。原表person表person.id person.name person.age3 mili 214 tom 195 mike 188 nul 20account表account.id account.account1
2021-03-27 15:06:09
2000
2
原创 通过示例验证java中的指令重排序问题
一、 一个悲伤的故事:有家宠物店,按照店里规定,喂狗是先投食,狗吃完后, 在狗脖子挂一个牌子,表示狗已喂。但是实际工作中,有时店员不按这个流程走,可能会先在狗脖子上挂一个牌子,然后再去取狗粮来喂。某一天,店员在挂好牌子后,去厨房取狗粮,这时狗主人进来,发现狗挂了已喂的牌子,但是狗又饿的汪汪叫。狗主人质疑店员没有喂,并向市场监督管理局投诉,市场监督局认真调查,发现狗确实没有被喂。于是根据相关法律法规,关闭了这家店。。。下面这段程序在线演绎上述故事:package concurrent;i
2021-03-27 14:50:36
376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人