数据仓库

1.数据仓库

主要是面向分析的集成化数据环境,为企业提供决策支持。
BI:提供报表并提出决策支持,帮助企业做出业务经营决策
设计初衷:分析需求、分析维度、分析的指标进行设计的,其面向分析型 处理。也叫联机分析处理 OLAP

2.数据库

面向业务应用,面向事务的设计。联机事务处理 OLTR

数据库和数据仓库的区别

1.数据库是面向业务应用,数据仓库是面向分析
2.数据库一般是存储业务数据或者实时数据,而数据仓库存储的一般为历史数据
3.数据库设计是尽量避免冗余,符合业务应用即可,但不符合分析
数据仓库设计有意引入冗余。,依照分析需求,分析维度,分析指标来设计

数据仓库的特点:

1.面向主题 例:支付是面向应用。交易是面向主题
2.数据集成 将不同的数据源整合到一起,按照统一的形式进行集成
3.相对稳定 历史数据一般不会发生改变
4.不生产数据,也不消费任何数据

DDL:数据定义语言 create drop alter 结构
DML:数据操作语言 insert update delete 数据
DCL:GRANT

Hive是数据仓库

非java编程者对HDFS的数据做MapReduce程序操作
SQL–>MapReduce程序

Hive的体系结构

  1. 接口层:shell jdbc GUI
  2. SQL解析:SQL ———> MapReduce
    元数据:Derby Mysql
    真实数据:HDFS
    默认存储表的数据目录:/user/hive/warehouse
    指定表的存储目录:location ‘HDFS路径’
  3. Hadoop

内部表与外部表的区别

内部表

  1. 删除内部表会删除数据和元数据
  2. 内部表有自身Hive来管理
  3. 列的类型:简单类型,复杂类型(Map,Array,struct)
  4. 指定读写规则:字段之间、Map、Array

外部表

  1. 外部表需要使用关键字EXTERNAL,需要指定Location
  2. 删除外部表仅仅只是删除元数据,真实数据并没有并删除
  3. 外部表Location仅是相当于对目录引用一样,引用删除时原始数据存在

分区

  1. 指定分区:partition by 来指定
  2. 优点:方便查询,提高检索效率
  3. 增加分区:ALTER TABLE ADD
  4. 删除分区:DROP(xxxx=‘xx’)

Hive搭建模式

  1. local模式:Test元数据存储在derby中,元数据由自身来管理
  2. 单用户模式:元数据由自身来管理,元数据存储在Mysql中
  3. 多用户模式:metastoreServer管理元数据,元数据存储在Mysql中

划分依据:元数据的管理与存储

mettastoreServer:

  1. 通信协议:thrift
  2. 提供服务的端口:9083
  3. mysql驱动程序

导入数据的指令和方式

LOAD DATA (LOCAL) INPATH ‘/xxx/xxx’ INTO TABLE xxx

方式

insert into table 效率低
load data (local) inpath ‘/root/data1’ [ overwrite] into table tablename
Insert from 比较适用于分析场景

Hive函数:UDAF UDTF UDF

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值