ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 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