概述
# 含义
使用分布式技术完成海量数据的处理,得到数据背后蕴含的价值。 狭义:大数据是一类技术栈,是一种用来处理海量数据的软件技术体系。 广义:大数据是数字化时代、信息化时代的基础(技术)支撑,以数据为生活赋能。
# 特征
# 体积 (大) Volume
数据体量大
- 采集数据量大
- 存储数据量大
- 计算数据量大
- TB、PB 级别起步
# 种类 (多) Variety
种类、来源多样化
- 种类:结构化、半结构化、非结构化
- 来源:日志文本、图片、音频、视频
# 价值 (低) Value
低价值密度
- 信息海量但是价值密度低
- 深度复杂的挖掘分析需要机器学习参与
# 速度 (快) Velocity
速度快
- 数据增长速度快
- 获得数据速度快
- 数据处理速度快
# 质量 (优) Veracity
数据的质量
- 数据的准确性
- 数据的可信赖度
从海量的高增长、多类别、低信息密度的数据中挖掘出高质量的结果
- 存储:妥善存储海量待处理数据
- 计算:完成海量数据的挖掘
- 传输:协助各个环节的数据传输
# 常见框架
# 数据存储
# Apache Hadoop - HDFS
Apache Hadoop 框架内的组件 HDFS 是大数据体系中使用最为广泛的分布式存储技术
# Apache HBase
Apache HBase 是大数据体系内使用非常广泛的 NoSQL KV 型数据库技术,是基于 HDFS 之上构建的。
# Apache KUDU
Apache Kudu 同样为大数据体系中使用较多的分布书存储引擎
# 云平台存储组件
如阿里云的 OSS、UCloud 的 US3、AWS 的 S3、金山云的 KS3 等等
S3 也算的话,那是不是可以理解就是对象存储,只是说底层实现是分布式的?
# 数据技术
# Apache Hadoop - MapReduce
过时
Apache Hadoop 的 Map Reduce 组件是最早一代的大数据分布式计算引擎,对大数据的发展做出了卓越贡献。
# Apache Hive
有人用,但不多
Apache Hive 是一款以 SQL 为主要开发语言的分布式计算框架。其底层使用了 Hadoop 的 MapReduce 技术,至今仍活跃在大数据一线,被许多公司使用。
# Apache Spark
目前主流之一
Apache Spark 是目前全球范围内最火热的分布式内存计算引擎,是大数据体系中的明星计算产品
# Apache Flink
目前主流之一
Apache Flink 同样也是一款明星级大数据分布式内存计算引擎,特别是在实时计算(流计算)领域,Flink 占据了大多数的国内市场。
# 数据传输
# Apache Kafka
目前主流之一
Apache Kafka 是一款分布式的消息系统,可以完成海量规模的数据传输工作。
# Apache Pulsar
目前主流之一
Apache Pulsar 同样是一款分布式的消息系统。
# Apache Flume
Apache Flume 是一款流式数据采集工具,可以从非常多的数据源中完成数据采集传输的任务。
# Apache Sqoop
Apache Sqoop 是一款 ETL 工具,可以协助大数据体系的关系型数据之间进行数据传输。
# Hadoop 框架
某种意义上 大数据 = Hadoop
,大数据不能没有 Hadoop,就像西方不能没有耶路撒冷。
Hadoop 是一个框架,内部可细分为三个组件:
- HDFS 组件:存储组件
- MapReduce 组件:计算组件
- YARN 组件:调度组件
# 发行版本
# 开源社区版
优点:更新迭代快 缺点:兼容稳定性不周
# 商业发行版
优点:稳定兼容好 缺点:收费、版本更新慢 发行版本:
- CDH:Cloudera 公司出品,目前使用最多的商业版
- HDP:Hortonworks 公司出品,目前被 Cloudera 收购
- 星环:国产商业版,星环公司出品,在国内政企使用较多