MapReduce 的容错机制
- 重复执行 重复4次后失败
- 推测执行 保证不会因为某一两个tasktracker失败而影响整个计算
数据仓库是一个面向主题的,集成的,不可更新的,随时间不变化的数据集合,它用户支持企业或组织的决策分析处理
数据源:业务数据系统,文档系统,其他数据
数据存储及管理: 抽取(Extract),转换(Transform),装载(Load)
仓库引擎:服务器,
前端展示:数据查询,数据报表,数据分析,各类应用
OLTP应用 人机事物处理 银行转账
OLAP应用 人机分析处理 商品推荐系统
数据仓库中的数据模型:
星型模型
- Hive 是建立在Hadoop HDFS上的数据仓库基础架构
- Hive 可以用来进行数据提取转化加载(ETL)
- Hive 定义了简单的类似SQL查询语言,称为HQL它允许数据SQL的用户查询数据
- Hive 允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作
- Hive 是SQL解析引擎,他将SQL语句专一成M/R Job然后再Hadoop执行
Hive 的表其实就是HDFS的目录/文件
Hive 元数据
- Hive 将元数据存储在数据库中(metastore),支持mysql,derby等数据库
- Hive 中的元数据包括表的名字,表的列和分区及其属性,标的属性(是否为外部表等),标的数据所在目录等
HQL的执行过程
- 解析器,编译器,优化器完成HQL查询语句从词法分析,语法分析,编译,优化以及查询计划(Plan)的生成,生成的查询计划存储在HDFS中,并在随后又MapReduce调用执行
Hive 的安装
- 嵌入模式
- 元数据信息被存储在Hive自带的Derby数据库中
- 值允许创建一个连接
- 多用于Demo
- 本地模式
- 元数据信息被存储在MySQL数据库中
- MySQL数据库与Hive运行在同一台物理机器上
- 多用户与开发和测试
- 远程模式
- Hive和MySQL运行在不同的操作系统上