HBase学习
三范式
第一范式
属性不可分割。
第二范式
不存在部分函数依赖,减少数据的冗余。
第三范式
不存在传递函数依赖,减少数据的冗余,保证数据一致性。
事实表和维度表
维度
观察数据的角度,如用户,省份,商品等。
粒度
值的是特定的维度组合,如各个省份中各个SPU的GMV。
粒度越细,维度越多。最细粒度(所有的维度)。
维度表
一般是对事实的描述信息。每一张维度表对应现实世界中的一个对象或者概念。如:用户、商品、日期、地区等。
事实表
事实表中的每一行数据代表一个业务事件(下单、支付、退款、评价等)。“事实”这个术语表示的是业务事件的度量值(可统计次数、个数、金额等)。例如:订单事件中的下单金额。
事实表分为:
- 事务性事实表:只增。
- 周期性事实表:只关心最后的结果数据,增删改。
- 累积性事实表:关心业务过程,对应不止一条数据。
事实表特点:“细长”,即列较少,行较多却行增速快。
一些概念
字典序
按位排序,如1后面接11而不是2。
高表:行多。
宽表:列多。
MYSQL中用,分割存储数据(CSV格式)。
数仓常用模型
星座模型(多张事实表)
星型模型&雪花模型
HBase数据模型
- Name Space
两个自带的:
HBase存内置表,default存用户默认表。 - Region 数据切片
HBase定义表是只需要声明列族即可。 - Row
HBase表中的每行数据都由一个Rowkey和多个Column(列)组成,数据是按照Rowkey的字典顺序村相互的,并且查询。 - Column
HBase中每个列都由Column Family(列族)和Column Qualifier(列限定符)进行限定。建表时,只需要指定列族,而列限定符无需预先定义。 - Time Stamp
用于标识数据的不同版本。 - Cell
由{Rowkey,Column Family:Column Qualifier,Time Stamp}唯一确定的单元,cell中的数据是没有类型的,全部是字节码形式存贮。
HBase命令
bin/hbase shell可以进入
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程