数仓回顾剖析

20 篇文章 0 订阅
16 篇文章 0 订阅

在这里插入图片描述

  • ETL不能解决所有数据仓库的问题,因为零散的ETL需求,将结果堆砌到数据仓库,会造成数据库杂乱无章,管理混乱,需要合理的数据治理,以及数仓分层。
1. 数据仓库的特征 4个特征
  • 面向主题 :每个需求和表都属于一个主题,可以用主题来对数仓的表分门别类
  • 集成性:将异结构数据源,比兔RDBMS,半结构化数据json,xml,properties,或者是flume切割的日志,转换成结构化的hive表,统一到ODS层
  • 非易失性:对历史的所有数据的存储需要稳定性,使用非易失的介质来保存,用HDFS
  • 时变性:数据会增量增加,数据分析的需求可能会发生变化,分析的过程也会发生调整
2. 数据仓库与数据集市的区别
  • 数据仓库:体量和概念范围更大,是面向整个公司的,整个公司的表都是数据仓库的,数据颗粒度更细
  • 数据集市:是数据库的子集,比如按部门,有销售数据集市,运营集市,也可以理解为按不同主题的集市,一般有维度退化和汇总
OLTP和OLAP的区别

在这里插入图片描述

维度和指标,上卷和下钻

维度 在sql中groupBy 后面字段基本上都是维度

  • 比如领导提的需求:统计各年份,各城市,各用户类型,各收入群体(0-10w/年、10-100w/年)的退保件数,退保率
  • 维度分为定性和定量
    • 定性:上面需求的年份,城市,用户类型,三个维度
    • 定量:收入群体
      *维度可以分为层和级
    • 时间维度
      • 一个层次的4个级别:年、月、日
    • 课程维度:4个层,每层都有若干级别
      • 课程名称:语文,数学
      • 课程分类:两个级别,大类和小类
      • 课程难度:3个级别,简单、一般、困难
      • 课程等级:3个级别,初、中、高
    • 地区维度
      • 一个层次3个级别:省、市、县
      • 按东南西北方向的层次分:华南、华北、华中…

指标 在sql中是groupBy 后 select 里的聚合函数 count,sum等
*指标就是业务数值的度量,分为
* 绝对数值:退保件数
* 相对数值:退保率

上卷和下钻 比如分析每天的课程访问量

  • 可以将最近30天左右数据进行汇总,形成每月的访问量,这个是上卷
  • 如果在细化到每个小时的访问量,name就是下钻
数仓建模
  • 数据库建模有2种方式,三范式,维度建模

  • 对于三范式来说,尽量一个表,只侧重一个对象的属性,尽量不要有冗余的信息

  • 对于维度建模来说

    • 允许一定的字段信息冗余,以空间换时间,避免了再join
    • 宽表的数据可以复用,避免了多次的join

维度建模_事实表

  • 事实表可以分为3类
    • 事务事实表 , 周期快照事实表 , 累计快照事实表
      在这里插入图片描述
      维度建模_维度表
  • 可以分为
    • 高基数维度数据: 一般是用户资料表,商品资料表类似的资料表, 数据量可能是千万级或上亿级
    • 低基数维度数据: 一般是配置表 , 或者日期维度 , 地理维度 , 简单的比如男 ,女维度 , 数据量可能只有个位数或者几千条.

维度建模的数据模型

  • 常见的模型
    • 星型模型
      • 一个维度指标的统计语句中,每个维度值 , 来自于一个维度表
        在这里插入图片描述
  • 雪花模型
    • 每个维度 , 可能又需要关联多个子维度表
      在这里插入图片描述
      星座模型
  • 当多个星型模型共享同样的维度时 , 可以共享同一个维度表
    在这里插入图片描述
hive以及SparkSQL的JDBC服务配置

在这里插入图片描述

sqoop 编写
/export/server/sqoop/bin/sqoop import \
--connect jdbc:mysql://node3:3306/库名 \
--username root \
--password 123456 \
--table 表名 \
--hive-table 数据库名.表名 \
--hive-import \
--hive-overwrite \
--fields-terminated-by "\t" \
--delete-target-dir \
-m 1

**如果是windows直接导入到linux的脚本.sh **

  • 查看Windows脚本的隐藏字符的方法,需要转义:cat -v 文件路径
  • 需要转义换文件格式,将Windows格式转换为unix格式。解决方法是安装dos2unix
    • yum install dos2unix 执行命令 : dos2unix 文件名
  • 有时需要执行权限 chmod +x 文件路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值