1. 什么是大数据
特性:
- 快速化
- 大量化
- 多样化
- 价值密度低(单点价值高)
分类:
- 非结构化数据(存储在非关系型数据库)
- 结构化数据(存储在关系型数据库)
2.大数据影响
科学研究范式:
- 实验 -> 理论 -> 计算 -> 大数据\
思维方式:
- 全样而非抽样
- 效率而非精确
- 相关而非因果
3. 大数据关键技术
- 数据采集
- 数据存储与管理(分布式存储)
- 数据处理与分析(分布式处理)
- 数据隐私与安全
分布式存储:
- GFS\HDFS
- BigTable\HBase
- NoSQL
- NewSQL
分布式处理:
- MapReduce
- Spark
- Flink
4.大数据计算模式
*不同的计算模式需要不同的应用场景
计算模式:
- 批处理(MapReduce、Spark)
- 流计算(需要实时处理,给出实时响应。Storm,S4,Flume)
- 图计算
- 查询分析计算(Dremel、Hive、Cassandra)
5. 大数据生态
Hadoop(一个生态系统)
- HDFS(分布式文件系统)
- YARN(资源调度和管理框架。CPU,GPU)
实现“一个集群多个框架”
- MapReduce分布式计算框架
核心策略:
分而治之
- Hive(数据仓库,本身不保存数据。本身编程接口SQL语句->mapreduce程序)
- pig(数据流处理,数据清洗)
- Mahout(数据挖掘,机器学习算法库。分类、回归等)
- Ambari(安装、部署、配置和管理工具。自动完成安装配置)
- Zookeeper(分布式协作服务)
- HBase(分布式数据库)
- Flume(日志采集)
- Sqoop(数据库ETL,抽取,转换,加载)
Spark(一个生态)
- Spark Core(满足企业批处理需求)
- Spark SQL(查询分析)
- Spark Streaming(流计算)
- MLlib(机器学习算法库)
- GraphX(图结算应用程序)
hadoop与Spark
- hadoop(map reduce)表达能力有限
- hadoop(map reduce)磁盘IO开销比较大
- hadoop(map reduce)延迟高。map任务结束之后才能进入reduce
Spark:
操作不止map reduce(表达能力强)
spark克服了hadoop的缺点,数据存储在内存中
Flink和Beam
- Flink和Spark同样是计算框架,具备同样的功能
- Flink基于流处理模式,Spark基于批处理模式
- Beam(google)
提供一整套开发SDK