初识Hadoop
大数据特点
4V:volume variety velocity value
海量性(volume):大数据的数据量很大,每天我们的行为都会产生大批量数据
多样性(variety):大数据的类型多种多样,比如视频、音频和图片都属于数据
高速性(velocity):大数据要求处理速度快,比如淘宝双十一需要实时显示交易数据
价值性(value):大数据产生的价值密度低,意思是说大部分数据没有参考意义,少部分数据会形成高价值
Hadoop简介与意义
Apache开源软件基金会开发了运行在大规模普通服务器上,用于大数据存储、计算、分析的分布式存储系统和分布式计算框架–Hadoop。其两大核心如下:
- HDFS(Hadoop Distributed File System,分布式文件系统):是Hadoop中的核心组件之一,除了可以保存海量数据,还具有高可靠性、高扩展性和高吞吐率的特点。
- MapReduce:属于分布式计算框架,一般用于对海量数据的计算,它的特点是易于编程、高容错和高扩展性等优点。另外,MapReduce可以独立于HDFS使用。
总结来说,hadoop中的核心HDFS为海量数据提供了存储,而MapReduce则为海量数据提供了计算服务。
大数据计算模式
大数据计算模式:
- 批处理计算:又称为离线计算,针对大规模历史数据的批量处理,如MapReduce
- 流计算:针对流数据的实时计算,可以实时处理产生的数据。
- 图计算:针对大规模图结构数据的处理,常用于社交网络
- 查询分析计算:针对大规模数据的存储管理和查询分析,如Hive
大数据技术框架
大数据技术框架主要包含6个部分,分别是:
数据收集、数据存储、资源管理、计算框架、数据分析、数据展示
每部分包括的具体技术:
- 数据源(如企业数据、互联网、物联网等)
- 数据收集(提取、转换、加载)—数据收集
- 数据存储(关系型和非关系型数据)—数据存储
- 资源管理 —资源管理
- 流处理、交互式分析、资源管理 —计算框架
- 数据挖掘(OLAP,数据仓库和商务智能)—数据分析
- 数据可视化 —-数据展示
- 用户
核心组件
- Hadoop的分布式协调服务–ZooKeeper
- 分布式离线计算框架–MapReduce
- Hadoop的集群资源管理系统–YARN
- Hadoop的数据仓库框架–Hive
- 大数据快速读写–HBase
- 海量日志采集工具–Flume
- Hadoop和关系型数据库间的数据传输工具–Sqoop
- 分布式消息队列–Kafka
- 开源内存数据库–Redis
- 快速且通用的集群计算系统–Spark