大数据
海量数据,具有高增长率、数据类型多样化、一定时间内无法使用常规软件工具进行捕捉、管理和处理的数据集
合
大数据的特征: 4V
Volume
:
巨大的数据量
Variety
:
数据类型多样化
结构化的数据
:
即具有固定格式和有限长度的数据
半结构化的数据
:
是一些
xml
或者
html
格式的数据
非结构化的数据
:
现在非结构化的数据越来越多,就是不定长、无固定格式的数据,例如网
页、语音、视频等
Velocity
: 数据增长速度快, [vəˈlɒsəti]
Value
:
价值密度低,商业价值高
大数据的处理:
数据采集,数据存储,数据清洗,数据分析,数据可视化。
核心就是 "
数据价值化
"
应用场景
存储和读取效率
分布式存储: 将一个数据集存储到多个硬盘里,
然后并行读取
比如
1T
的数据,我们平均
100
份存储到
100
个
1TB
硬盘上,同时读取,那么读取完整个数
据集的时间用不上两分钟。至于硬盘剩下的
99%
的容量,我们可以用来存储其他的数据集,这样就不会 产生浪费。解决读取效率问题的同时,我们也解决了大数据的存储问题。
存储大数据集----->>硬盘不够大、数据存储单份的安全隐患----->>分布式文件系统
快速分析大数据集----->>基于分布式文件系统的计算分析的编程框架模型
传统型关系数据库不适合存储非结构化数据------>>BigTable(适合存储结构化和半结构化数据)
Hadoop
Hadoop
是
Apache
基金会旗下
一个开源的分布式存储和分析计算平台
,使用
java
语言开发,具有很好的跨平台性,可以运行在商用(
廉价
)
硬件上,用户无需了解分布式底层细节,就可以开发分布式程序,充分使用集群的高速计算和存储
组成部分
面试必问
生态系统
Hadoop不仅仅是一个单一的软件,它是一个生态系统,意味着它包含了一系列的相关工具和框架,这些工具和框架可以相互配合使用,以支持不同类型的数据处理任务。
安装
CDH
使用CDH会简化Hadoop的安装,(Cloudera's Distribution Including Apache Hadoop)是由Cloudera公司提供的一种基于Apache Hadoop的大数据平台解决方案。它是一个企业级的发行版,旨在简化和优化Hadoop的部署、管理和使用.
CM 集群管理平台
(Cloudera Manager) 是一个功能全面的集群管理工具,它通过提供自动化的部署、配置、监控和管理功能,极大地简化了 Hadoop 集群的运维工作
HUE 开发平台
全称为Hadoop User Experience,是一个开源的Apache Hadoop UI系统,它为用户提供了一个在浏览器端与Hadoop集群进行交互的Web控制台.它提供了一个功能强大的SQL编辑器,用户可以编写、执行和调试SQL查询,支持自动完成、语法高亮和查询结果可视化。此外,Hue还内置了HDFS文件浏览器,用户可以方便地浏览、上传、下载和管理HDFS文件
Hue主要用于数据分析和处理,而Cloudera Manager则主要用于集群的管理和运维。
HDFS的结构图
HDFS的优点
1. 高容错性(硬件故障是常态):数据自动保存多个副本,副本丢失后,会自动恢复
2. 适合大数据集:GB、TB、甚至PB级数据、千万规模以上的文件数量,1000以上节点规模(一台服务器/电脑是一个节点)
3. 构建成本低:Hadoop开源,并且可以构建在廉价机器上。
4. 多种软硬件平台中的可移植性
5. 高效性:Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
HDFS的缺点
1. 不适合做低延迟数据访问(无法实时):
HDFS适合处理大型数据集,高吞吐率。这一点以高延迟为代价的。因此HDFS不
适合处理用户要求的毫秒级的低延迟应用请求
2. 不适合小文件存取:
一是需要消耗大量的寻址时间,
第二, 无论块中文件大小, 文件的元数据所占的内存是相同的, 因此相对来说,大文件更省内存。如果文件太小,很可能导致元数据比文件本身还要大.
解决: 把多个小文件合并成大文件
3. 不适合并发写入,文件随机修改:
HDFS上的文件只能拥有一个写者,仅仅支持append操作。不支持多用户对同一个文件的写操作,以及在文件任意位置进行修改