数据仓库调研

什么是数数据仓库

提供一种从操作型系统到决策支持环境的数据流架构模型。 数据仓库概念的提出,是为了解决和这个数据流相关的各种问题,主要是解决多重数据复制带来的高成本问题。

特性

大数据 是 具有 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呢

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180817G0PST800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券