### 1宏观
Hadoop分布式文件系统(Hadoop Distributed File System, HDFS)
另一种资源协调器(Yet Another Resource Negotiator, YARN)
大数据分析分类:数据分析(分析历史,不迭代)和数据科学(预测未来,迭代);
数据分析:描述性分析和诊断性分析;
数据科学:预测性分析和规范性分析;
关系型数据库管理系统(Relational Database Management System, RDBMS)采用写时模式(schema-on-write),写数据的时候用各种方法;
提取、转换和加载(Extract, Transform, and Load, ETL)
将数据转换为易于访问的格式容易丢失原始/原子数据。
大数据分析通常借助Hive和HBase在Hadoop平台上使用读取模式(schema-on-read),读数据的时候用各种方法;
同一组原始数据可以应用多个模式。
实际环境中的用例:客户分析、运营分析、数据驱动的产品和服务、企业数据仓库(Enterprise Data Warehouse, EDW)优化、特定领域的解决方案
### 2入门
Apache Hadoop使用故障率较高的低价通用硬件来构建。采用了让计算贴近数据(move computation to data)的方法,从而显著降低网络流量。包含四个项目:Hadoop Common,Hadoop分布式文件系统(Hadoop Distributed File System, HDFS),YARN(Yet Another Resource Negotiator)和MapReduce。HDFS用来存储数据,MapReduce用来计算数据,YARN用来管理集群的资源(CPU和内存)及支持Hadoop的公共应用程序。
大数据4V+1O(variety、volume、velocity、value【价值】/veracity【真实性】、online)
MR1包含资源管理(集群中每个节点的计算资源固定分配好了,不能调配),到MR2把资源管理交给YARN管理,
YARN:资源管理器(Resource Manager)、应用管理器(Application Master)、从机节点管理器(slave node Manger)、容器(container)
#### 2.1存储选择
Hadoop文件格式:顺序文件(sequence file);
序列化格式:Thrift、协议缓冲区(Protocol Buffers)、Avro
列格式:Parquet,记录列文件(Record Columnar File, RCFile)、优化行列(Optimized Row Columnar, ORC)
顺序文件用例:每个文件600字节的空间(管理节点元数据),100万个100KB的文件需要572M管理节点内存,MR作业创建100万个映射器;创建一个顺序文件,文件名为key,文件内容为value,600字节管理节点内存,MR作业创建762个具有128MB区块大小的映射器。
压缩的好处:加速I/O、节省存储、加快网络;缺点:增加CPU时间;
#### 2.2spark
Spark被设计为快速进行交互式查询和迭代的算法;
MR作业中的每个作业都把数据存储在硬盘上,Spark把中间数据存储在内存中;
运算:MR是映射和化简,Spark是映射、化简、连接、Cogroup等;
执行模式:MR是批处理,Spark是批处理、交互式和流式;
Spark架构组件:Spark Core, Spark SQL, Dataset和Dataframe, Spark Streaming(构建可扩展和流式应用程序), Structured Streaming(流式计算新格局), MLlib, GraphX以及SparkR;
#### 2.3hadoop版本
Cloudera Hadoop发行版(Cloudera Distribution for Hadoop, CDH),使用Cloudera Manager管理;
Hortonworkds数据平台(Hortonworks Data Platform, HDP),使用Ambari管理;
MapR,使用MapR控制系统(MapR Control System, MCS)管理;
### 3Spark
弹性分布式数据集(Resilient Distributed Dataset, RDD)
弹性:数据丢失可重建,分布式:集群中分布,数据集:初始数据来自文件或者编程方式创建;
---
数据处理只有两种范式:批处理和实时处理;
Spark Streaming是微量批处理,Storm是一次处理一条记录;
MLlib:Machine Learning Library