数据仓库:组织数据的方式,按照主题来进行组织(多张事实表+多张维度表)集成的相对稳定,没有update和delete操作
反映历史变化(Time Variant):历史数据,每条记录都是表示过去某个时刻的一条事实
数据仓库的价值:用于支持管理决策(Decision Marking Support)
数据仓库:历史数据,标准化结构数据,文本数据,进行查询分析,支持sql中的select语法
hive依赖于hdfs存储数据,hive的本质是将sql语句转换为Map Reduce任务运行,使得Map Reduce用户很方便的利用Hql处理和计算hdfs上的结构化数据,适用于离线的批量数据计算,极大简化分布式计算程序的编写,将精力集中于业务逻辑。
执行流程:driver接收语句–>compiler变成抽象语法树,逻辑执行计划,优化–>optimizer物理执行计划,优化–>executor执行
hdfs中的元数据(大文件的存储文件:分散存储+冗余存储)
- 目录树空间
- 每个大文件都对应到哪些小文件呢
- 一个数据块有三个副本,这个数据块的三个副本到底存储在哪三个节点呢?
hive的元数据:把存储在hdfs上的结构化数据想象成一张二维表
- 表名(表和数据文件之间的映射关系)
- 字段定义(由哪些字段组成的)
- 行列分隔符(行与行的界限,列与列的界限)
- 表中的数据(表对应到哪些文件呢)
hive的元数据管理借助于一个关系型数据库(hive自带一个嵌入性小型RDBM:derby)企业级应用建议用MySQL
hive环境搭建:
- hadoop集群,不管是单机,伪分布式,分布式,ha,联邦
- 安装MySQL 权限问题:access denied 解决方法:远程连接权限
简单的建表语句:
create table student(id int, name string, sex string, age int, department string)
row format delimited fields terminated by "," --字段分隔符
lines terminated by "/n"; --行分隔符
--导入数据
load data local inpath "/home/bigdata/students.txt" into table student;
--检索语句
select * from student;
数据库 | 数据仓库 |
OLTP(transaction) | OLAP(analysis) |
写模式 | 读模式 |
hive的三大工作:建表、导数据、写查询分析
支持sql select语法,不支持update和delete
- select *
- select count(distinct ) from
- union all\join\like\where having各种聚合函数
- case when
- udf/udaf/udtf
- 虽然支持in/exists,但是推荐使用semi join
- 支持insert:insert …values(),insert…select…
不是所有的sql语句都会转换成Map Reduce,比如show databases; select * from student limit 3;
今天的文章数据仓库(data warehouse)-简介分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/64926.html