数据仓库(data warehouse)-简介

数据仓库(data warehouse)-简介数据仓库:组织数据的方式,按照主题来进行组织(多张事实表+多张维度表)集成的相对稳定,没有update和delete操作反映历史变化(TimeVariant):历史数据,每条记录都是表示过去某个时刻的一条事实数据仓库

数据仓库:组织数据的方式,按照主题来进行组织(多张事实表+多张维度表)集成的相对稳定,没有update和delete操作

反映历史变化(Time Variant):历史数据,每条记录都是表示过去某个时刻的一条事实

数据仓库的价值:用于支持管理决策(Decision Marking Support)

数据仓库:历史数据,标准化结构数据,文本数据,进行查询分析,支持sql中的select语法

 

hive依赖于hdfs存储数据,hive的本质是将sql语句转换为Map Reduce任务运行,使得Map Reduce用户很方便的利用Hql处理和计算hdfs上的结构化数据,适用于离线的批量数据计算,极大简化分布式计算程序的编写,将精力集中于业务逻辑。

执行流程:driver接收语句–>compiler变成抽象语法树,逻辑执行计划,优化–>optimizer物理执行计划,优化–>executor执行

hdfs中的元数据(大文件的存储文件:分散存储+冗余存储)

  1. 目录树空间
  2. 每个大文件都对应到哪些小文件呢
  3. 一个数据块有三个副本,这个数据块的三个副本到底存储在哪三个节点呢?

hive的元数据:把存储在hdfs上的结构化数据想象成一张二维表

  1. 表名(表和数据文件之间的映射关系)
  2. 字段定义(由哪些字段组成的)
  3. 行列分隔符(行与行的界限,列与列的界限)
  4. 表中的数据(表对应到哪些文件呢)

hive的元数据管理借助于一个关系型数据库(hive自带一个嵌入性小型RDBM:derby)企业级应用建议用MySQL

hive环境搭建:

  1. hadoop集群,不管是单机,伪分布式,分布式,ha,联邦
  2. 安装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

  1. select *
  2. select count(distinct ) from 
  3. union all\join\like\where having各种聚合函数
  4. case when
  5. udf/udaf/udtf
  6. 虽然支持in/exists,但是推荐使用semi join
  7. 支持insert:insert …values(),insert…select…

不是所有的sql语句都会转换成Map Reduce,比如show databases; select * from student limit 3;

 

今天的文章数据仓库(data warehouse)-简介分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/64926.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注