3 大数据简介
1-> 什么是大数据?
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和
处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优
化能力的海量、高增长率和多样化的信息资产。
传统的数据处理技术已经无法胜任,需要催生新的技术。一套用来处理海量数据的软件
工具应运而生,这就是大数据!
大数据=数据处理技术
大数据并行化处理数据,Google2004(分而治之),hadoop产生(Doug Cutting)
数据量到达一定程度的时候存储和计算就成了问题?需要用新的技术解决
处理海量数据的核心技术:
海量数据的存储:分布式
海量数据的计算:分布式
分布式的复杂程度比单机版高很多!运用多台机器一起工作解决问题。
存储和计算成熟的框架:
存储:
HDFS-》分布式文件系统(hadoop的存储框架)
HBASE-》分布式数据库系统(对HDFS的二次封装)
KAFKA-》分布式消息缓存系统
计算框架:
MAPREDUCE-》离线计算框架(hadoop的计算框架)
SPARK-》离线批处理/实时流式计算的计算框架 ->相当于MR的二次封装
STORM-》实时流式计算
辅助类工具:
HIVE-》数据仓库工具
FLUME-》数据采集
SQOOP-》数据迁移
....
2-> 大数据应用场景
典型应用:公司运营情况
CNZZ 数据专家
友盟
电商推荐系统:淘宝、京东、苏宁。。。
大量基于算法模型的运算,的出来各类推荐结论...
广告推送系统:基于海量互联网用户的各类数据(数据共享)
3-> 什么是Hadoop?
http://hadoop.apache.org/
Apache?Hadoop?项目开发了用于可靠,可扩展的分布式计算的开源软件。
Apache Hadoop软件库是一个框架,允许使用简单的编程模型跨计算机集
群分布式处理大型数据集。它旨在从单个服务器扩展到数千台计算机,每
台计算机都提供本地计算和存储。库本身不是依靠硬件来提供高可用性,
而是设计用于检测和处理应用程序层的故障,从而在计算机集群之上提供
高可用性服务,每个计算机都可能容易出现故障。
用户可以在不了解分布式的底层细节而开发分布式程序。
用户需要充分的利用集群的为例进行高效的运算和存储。
Hadoop中三个核心组件:
分布式文件系统:HDFS - 实现存储在多台服务器上
分布式运算编程框架:MapReduce - 实现在很多台机器的分布式并行计算
分布式资源调度平台:Yarn - 帮我们调度大量的mapreduce程序的,并且合理分配运算资料
4-> HDFS的运行机制
如何实现分布式存储?
总结:机制->用户的文件会被切块后存储在多台datanode服务器当中,
并且每个文件在整个集群当中存放多个副本,可以自己指定副本数据。
HDFS:对用户统一的目录,存储时会把文件切分为若干个文件块存储,在不同的
datanode服务器当中。
用户文件可以存储多个副本,以增强数据的安全性。
用户存储的块信息存储的位置在namenode当中。