一、大数据的诞生
(1)当全球互联网逐步建成(2000年左右),各大企业或政府单位拥有了海量的数据亟待处理。
(2) 基于这个前提逐步诞生了以分布式的形式(即多台服务器集群)完成海量数据处理的处理方式,并逐步发展成现代大数据体系。
二、什么是大数据
2.1 狭义理解
技术层面的理解,使用分布式技术完成海量数据的处理,得到数据背后蕴含的价值。大数据是一类技术栈,是一种用来处理海量数据的软件技术体系。
2.2 广义理解
大数据是数字化时代、信息化时代的基础(技术)支撑,以数据为生活赋能。
三、大数据的5V特征
大数据有5个主要特征,称之为:5V特性。
3.1 Volume(体积)
数据体量大:采集数据量大;存储数据量大;计算数据量大;TB、PB级别起步。
3.2 Variety(种类)
(1)种类多样化:结构化、半结构化、非结构化;
(2)来源多样化:日志文本、图片、音频、视频等。
3.3 Value(价值)
(1)信息海量但是价值密度低;
(2)深度复杂的挖掘分析需要机器学习参与。
3.4 Velocity(速度)
(1)数据增长速度快;
(2)获取数据速度快;
(3)数据处理速度快。
3.5 Veracity(质量)
(1)数据的准确性;
(2)数据的可信赖度。
四、大数据的核心工作
从海量的高增长、多类别、低信息密度的数据中挖掘出高质量的结果。
(1)数据存储:可以妥善存储海量待处理数据;
(2)数据计算:可以从海量数据中计算出背后的价值;
(3)数据传输:协助在各个环节中完成海量数据的传输。
五、大数据软件生态
5.1 数据存储
5.1.1 Apache Hadoop - HDFS
Apache Hadoop框架内的组件HDFS是大数据体系中使用最为广泛的分布式存储技术。
5.1.2 Apache HBase
Apache HBase是大数据体系内使用非常广泛的NoSQL KV型数据库技术HBase是基于HDFS之上构建的。
5.1.3 Apache KUDU
Apache Kudu也是大数据体系中使用较多的分布式存储引擎。
5.1.4 云平台存储组件
大云平台厂商也有相应的大数据存储组件,如阿里云的OSS、UCloud的US3、AWS的S3、金山云的KS3等等。
5.2 数据计算
5.2.1 Apache Hadoop - MapReduce
Apache Hadoop的MapReduce组件是最早一代的大数据分布式计算引擎对大数据的发展做出了卓越的贡献。
5.2.2 Apache Hive
Apache Hive是一款以SQL为要开发语言的分布式计算框架。其底层使用了Hadoop的MapReduce技术
Apache Hive至今仍活跃在大数据一线,被许多公司使用。
5.2.3 Apache Spark
Apache Spark是目前全球范围内最火热的分布式内存计算引擎。是大数据体系中的明星计算产品。
5.2.4 Apache Flink
Apache Flink同样也是一款明星级的大数据分布式内存计算引擎。特别是在实时计算(流计算)领域,Flink占据了大多数的国内市场。
5.3 数据传输
5.3.1 Apache Kafka
Apache Kafka是一款分布式的消息系统,可以完成海量规模的数据传输工作。Apache Kafka在大数据领域也是明星产品。
5.3.2 Apache Pulsar
Apache Pulsar同样是一款分布式的消息系统。在大数据领域同样有非常多的使用者。
5.3.3 Apache Flume
Apache Flume是一款流式数据采集工具,可以从非常多的数据源中完成数据采集传输的任务。
5.3.4 Apache Sqoop
Apache Sqoop是一款ETL工具,可以协助大数据体系和关系型数据库之间进行数据传输。