什么是数数据仓库
提供一种从操作型系统到决策支持环境的数据流架构模型。 数据仓库概念的提出,是为了解决和这个数据流相关的各种问题,主要是解决多重数据复制带来的高成本问题。
特性
大数据 是 具有 4V, 即 Volume、 Velocity、 Variety、 Veracity 特征 的 数据 集合, 用 中文 简单 描述 就是 大、 快、 多、 真。
基本四个部分:
基础功能库
hdfs分布式文件系统
yarn作业调度,资源管理框架
mapReduce,大数据并行处理程序
大数据基本架构图
解决问题:
庞大的数据-关系型数据库也可以存储庞大的数据,但是成本较高(可靠性跟高)。关系型数据库并发瓶颈难以支撑实时查询。而且分析系统如果和业务系统使用相同的数据源容易产生问题,影响业务系统性能,对于业务系统数据产生影响。
敏感业务数据无法直接查询
连接多数据源时需要进行数据汇总,用于数据分析,查询,报表,bi产品等等
业务系统更新频繁,导致分析系统需要随时更新
各个业务数据格式,字段,列名等等数据内容不统一
业务系统缺少分析字段。需要创建相关的临时表
hadoop生态圈
hadoop是Apache Nutch 项目以google发表的分布式文件系统(GFS)理论建立起来的,主要包括两个方面。
hdfs : 分布式分拣系统
mapReduce : 分布式计算模型
后来蔓延到这样!
各个技术体系都很庞大!
纵向维度
数据采集
数据清洗
数据计算
数据处理
数据存储
数据读取
数据分析
数据采集
数据采集面临几个问题。
数据的多样性
数据量大
数据变化快
如何保证数据采集的可靠性的性能
如何避免重复数据
如何保证数据的质量
技术选型
Apache Flume 官网地址 : https://flume.apache.org/
Fluentd 官网地址:http://docs.fluentd.org/articles/quickstart
Logstash 官网地址: https://github.com/elastic/logstash
Kafka 官网地址: http://kafka.apache.org/
sqoop 官网地址 : http://sqoop.apache.org/ 常用的方式: flume+kafka flume读数据,kafka消费数据。sqoop用于关系型数据转换数据到hdfs,hive,hbase中
数据清洗
数据维护
解决不完整数据(即值缺失)
异常值处理
去重处理
数据整理
hive手工清洗!建立维度表(时间维度,层次维度,杂项维度,业务维度等等)
时间维度: 日子
层次维度: 年-季度-月份。父子
杂项维度: 订单(审核,取消,派送,下单等等)
业务维度: 酒店,游记,攻略
产品维度: web,手机,h5 对于mapreduce的封装。现在采用tez。采用hql语句对数据的处理。
hbase nosql数据。建值对,列存储。 更像是对hdfs的封装,提供超大内存的hash,搜索引擎通过它来存储索引,方便查询操作。
数据计算 数据处理
mapReduce 分布式离线处理方案废弃
storm 实时数据处理方案
hive mapReduce封装。
tez 支持DAG作业的开源计算框架
pig Pig Latin 的高级语。该语言提供了各种操作符,程序员可以利用它们开发自己的用于读取,写入和处理数据的功能
数据存储
hdfs 最核心存储,也是hadoop的基石
hbase 数据库-nosql。
hive 提供hql语言。
数据读取 sql引擎
presto facebook开源的分布式SQL查询引擎。支持多数据源hive,hbase,关系型数据等,还支持组合数据源
hive hql引擎
Impala 处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎
Phoenix 用于支持hbase sql语言查询
数据分析
hue 开源hadoop生态的一个组合的服务平台,支持报表,图形等等
zipplin 也是apache 开源的基于web的软件
定制-基于各个rest api 和图形服务自己定制。
Highcharts 开源图形库
横向维度
分布式文件系统 hdfs 大数据存储
资源调度系统 yarn hadoop生态的资源调度系统,包括对cpu,内存等等资源的分派。慢慢成为了hadoop资源操作系统
分布式应用程序协调服务 zookper 提供高可用的服务系统
定时任务调度服务 crontab linux系统 oozie 支持 DAG作业的调度。workflow,schedule,bundle。 Airflow Airbnb 开发的用于工作流管理的开源项目
环境整合服务
hue : 开源的整合服务系统 自己定制!
hadoop技术难点
场景
ETL(数据提取、转换、加载)、实时流式(监控报警、风控等)、机器学习(推荐引擎、用户画像等)、非结构化分析(视频、图片、语音、文本等)、海量大数据在线存储(HBase)、搜索、OLAP(在线联机分析)
难点
维度表层次划分 hbase 数据库设计 数据存储结构和业务层次
spark 技术 方案还没有采用
目前实践的技术方案
sqoop1.4.7+sqoop1.99.7+flume+kafaka 日志收集
hive+hbase数据存储
presto+hive数据查询
hive on tez 离线计算模型
storm 实时计算,流式数据
hue 服务整合
oozie定时服务
zookeeper 分布式服务框架
phoenix + hbase 数据查询
先不用spark呢
领取专属 10元无门槛券
私享最新 技术干货