本文主要对厦门大学《spark》编程基础课程知识点进行记录
大数据4V特性
- 大量化 Volume
- 多样化 Variety:数据不只限于结构化数据,目前非结构化数据居多
- 处理速度快 Velocity:有实时响应的需求
- 价值密度低 Value
大数据关键技术
- 数据采集:爬虫工具/ETL工具(抽取 转换 加载)
- 数据存储与管理:分布式文件系统/分布式数据库/NoSQL数据库
- 数据处理与分析:分布式架构(解决数据分布式计算)
- 数据隐私与安全
大数据计算模式
- 批处理计算 :一次性处理大量数据,无法实时响应
面向批处理的计算框架:MapReduce/Spark - 流计算:数据源源不断到达,但是每次量不大,要求ms/s级响应
流计算框架:Storm( ms级响应 )/S4/Flume - 图计算:社交网络类型数据等
图计算框架:Pregel - 查询分析计算:通过写sql语句查询
查询分析计算框架:Hive/Dremel
代表性大数据技术
Hadoop
hadoop里面两大核心:分布式存储框架( HDFS ) & 分布式处理框架( MapReduce )。
HDFS负责海量分布式文件的存储,YARN负责为上层的计算框架提供资源调度与管理服务,MapReduce负责完成计算任务,Hive负责在一个时间维度上保存连续数据,建立在HDFS之上的,可以把Hive看成是一个接口,将查询时使用的SQL语句自动转换为对HDFS的查询分析,Pig可以做数据清洗,转换以及加载,在我们把数据保存到数据仓库之前,要对数据做清洗转换,Mahout实现了常用的数据挖掘算法,HBase底层数据也是借助HDFS进行保存的,Flume负责日志采集分析,Sqoop负责完成Hadoop系统组件之间的互通。
spark
Spark Core完成RDD应用开发;Spark SQL分析关系数据;Spark Streaming进行流计算;MLlib是机器学习算法库;GraphX编写图计算应用程序。
- 多种数据集操作类型
- 编程模型更灵活
- 提供了内存计算
- 基于DAG的任务调度执行机制
( 与hadoop的分布式存储框架结合 )
Flink
Flink和Spark一样,都属于计算框架。
参考资料:《厦门大学-Spark编程基础(MOOC)》