大数据课程考试

1.Yarn每一个子模块的作用要记清楚
resource模块的作用
master

2.最后一个章节数据挖掘的流程
商业理解
数据理解 对应用的采集预处理’ 制表、记录、数据清洗
建模 AI选哪个模型
评估过程,对建模的结果
部署上线

3.单选多选判断简答

大数据
分布式架构
IBM自己的产品 sifuni中主节点叫做masternode
yarn的三个模块每个模块负责什么任务
contanner是哪个模块启动的?
大数据依赖的技术存储、处理、智能化
spark支持多种语言的API,java,scala,python,r
HDFS namendoe管理文件系统 存储文件系统的元数据来控制整个个
spark提交命令的命令
大数据平台部署软件unbairui模块组成 管理的最小单位是component mapreduce对他来说
unbairui用来部署各种haddop,spqrk,tez
cenfini与其它架构 资源调度 任务管理sum
sparkonyarn meisouse 与ego同属于一个层次 资源管理层 用于资源调度
mapreduce是计算引擎的一个框架
hadoop集群部署,改namenode,元数据:存储文件系统的架构的,后来还建一个data用于
google起源于三篇论文,google firsystem hbase mapreduce
介绍spark与yarn的不同 s支持流式计算 storm
安装hadoop更改配置文件,4个文件
yarn调度器的 先来先服务 深层回归模型 多种类型的调度
spark数据结构最初的数据结构RDD冗余数据 dataframe以RDD为基础的一种数据模式
应用场景区别hadoop大批量离线数据处理 不管实时性
hbase负责分布式存储的最小单元hregion
hadoop分布式处理的框架 提供了简单的编程模型 既有计算引擎

sefenni ego sume 主要的进程 lime进程最核心的进程 mkd
spark原生实现 scala jvm虚拟机运行
HDFS不同节点上能做数据冗余 设多个备份

Linux安装配置
Hadoop安装设置
spark

大数据生态圈三层:计算引擎层(MapReduce,Spark,Hadoop,Storm)–用于大规模数据处理的快速通用的计算框架; 数据存储层(HDFS,HBASE);资源管理层(yarn,mesos–开源资源调度框架)–集群具有很多节点,对这些节点进行管理的一个资源管理框架,例如管理作业提交时的节点问题。

Hadoop集群部署要修改的配置文件:core-site.xml、yarm-site.xml、hdfs-site.xml、mapred-site.xml。Hadoop是一个分布式处理的框架,提供简单的编程模型MapReduce。Spark适合流式在线实时作业,与storm类似;hadoop做离线处理。Spark与Hadoop的对比 (Spark与Hadoop兼容,可与Hadoop一起部署)1.Hadoop缺点:1)表达能力有限(转化不成Map或Reduce的就做不成);2)磁盘I/O开销大(很多开发过程是迭代的;而Hadoop是基于磁盘的)。3)延迟高(基于磁盘,执行MapReduce时明确分为Map和Reduce两个阶段,存在等待):任务之间的衔接涉及IO开销;在前一个任务执行完成之前,其他任务就无法开始,难以胜任复杂、多阶段的计算任务。2.Spark相比于Hadoop MapReduce,有以下优点:(继承了Hadoop)1) Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比Hadoop MapReduce更灵活;2)Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高;3) Spark基于有向无环图(DAG)的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制。(使用Hadoop进行迭代计算非常耗资源;Spark将数据载入内存后,之后的迭代计算都可以直接使用内存中的中间结果作运算,避免了从磁盘中频繁读取数据。)5V:规模性volumn、多样性variety、高速性velocity、价值性value(IDC)、真实性veracity(IBM)挑战:数据收集、数据存储、数据处理、结果的可视化呈现;复杂性是根本,类型复杂、结构复杂、模型复杂;不确定性:数据本身不确定、模型不确定、学习不确定;统计学是数据分析的灵魂;

第二章第一节 大数据环境下数据存储的需求与挑战 磁盘技术和文件系统应对海量数据的固有问题:磁盘故障带来性能下降;RAID和文件系统无法管理海量数据;存储介质的位错误问题;网络存储技术(NAS、SAN)的带宽瓶颈问题(由于基于ip协议,带宽利用率低可,采用高效可充分发挥以太网带宽的传输协议(Hadoop、Lustre、StorNext),采用专用文件系统实现光纤存储网络的聚合(Quantum StorNext、IBM GPFS、蓝鲸文件系统));具备冗余和纠错能力的对象存储技术(冗余块解决磁盘故障,校验码解决位错误);大数据的存储及处理要求其传输及处理的响应速度快(Velocity);大数据具有数据多样性(数据结构化程度;存储格式;存储介质多样性)的特点; BD存储技术(MPP架构新型DB集群、Hadoop、BD一体机)第二节 HDFS数据存储方案分布式文件系统:其管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连;基于客户机/服务器模式,一个分布式文件系统提供多个供用户访问的服务器;提供备份和容错的功能;基于操作系统的本地文件系统。1.为什么需要分布式文件系统:传统文件系统最大问题是容量和吞吐量的限制;多用户多应用的并行读写是分布式文件系统产生的根源;扩充存储空间的成本低廉;可提供冗余备份;可以为分布式计算提供基础。2.Google三篇论文:1)BigTable(2006): A Distributed Storage System for Structured Data;2)MapReduce(2004): Simplified Data Processing on Large Clusters;3)The Google File System(2003)3.HDFS特性:CAP 1)Consistency一致性:所有的Client看到的数据是一致的;2)Availability高可用性:保证每一个请求会收到一个结果(Failed or Success);3)Partition Tolerance分区容错性:系统的一部分有故障时仍可以继续运行。(一个分布式系统只能保证CAP中的两点)4.HDFS主要设计理念:存储超大文件;最高效的访问模式时一次写入,多次读取(流式数据访问);运行在普通廉价的服务器上。5.HDFS基本概念:1)数据块block:大文件被分割成多个block进行存储,block大小默认为64MB。每一个block会在多个datanode上存储多份副本,默认是3份;2)NameNode:NameNode负责管理文件目录、文件和block的对应关系以及block和DataNode之间的对应关系;3)DataNode:DataNode负责存储,大部分容错机制都是在DataNode上实现。4)Secondary NameNode: 不是备份节点,其主要工作是阶段性地合并fsimage和edits文件,以此来控制edits的文件大小在合理的范围;缩短集群重启时NameNode重建fsimage的时间;在NameNode硬盘损坏时,Secondary NameNode也可用作数据恢复,但绝不是全部;一般情况下,Secondary NameNode运行在不同于NameNode的主机上,并且它的内存需求和NameNode是一样的。6. Secondary NameNode的运行过程:1) Secondary NameNode根据配置好的策略决定多久做一次合并(fs.checkpoint.period 和fs.checkpoint.size);2) 通知NameNode现在需要回滚edits日志,此时NameNode的新操作将写入新的edits文件;3) Secondary NameNode 通过HTTP从NameNode取得fsimage和edits;4) Secondary NameNode将fsimage载入内存,执行所有edits中的操作,新建新的完整的fsimage;5) Secondary NameNode将新的fsimage传回NameNode;6) NameNode替换为新的fsimage并且记录此checkpoint的时间。8.HDFS追加写(append)的操作流程:1)客户端与NameNode通讯,获得文件的写保护锁及文件最后一个块的位置(DataNode列表);2)客户端挑选一个DataNode作为主写入节点,并对其余节点上的该数据块加锁;3)开始写入数据:与普通写入流程类似,依次更新各个DataNode上的数据(更新时间戳和校验位);4)最后一个块写满,并且所有备份块都完成写入后,向NameNode申请下一个数据块。9.HDFS的读操作流程:1)客户端与NameNode通讯获取文件的块位置信息,其中包括了块的所有冗余备份的位置信息:DataNode的列表;2)客户端获取文件位置信息后直接同有文件块的DataNode通讯,读取文件;3)如果第一个DataNode无法连接,客户端将自动联系下一个DataNode;4)如果块数据的校验值出错,则客户端需要向NameNode报告,并自动联系下一个DataNode。10.客户端和HDFS服务器端配置文件的关系:1)客户端的配置文件名与服务器端相同,字段名也相同;2)客户端不会从HDFS集群端同步配置文件;3)客户端只使用部分配置信息:fs.default.name、dfs.block.size、dfs.replication;4)如果客户端没有配置信息,则使用客户端Hadoop程序包里的缺省值,而不是服务器端的值。11.HDFS的安全性和用户认证:1)缺省情况下,Hadoop不启用认证:采用客户端系统的登录用户名;或可以通过API设置;虽然HDFS有权限控制,但并没有安全性可言;2)可以在NameNode上启用用户认证:目前只支持Kerberos;可以与LDAP集成。12.HDFS命令行工具:Hadoop Filesystem shell($HADOOP_HOME_BASE/bin/Hadoop fs );FS shell使用URIs地址;Schema://authority/path(如果不指定schema,则使用配置文件中的默认地址fs.default.name);可以使用hadoop fs -help 查看所有命令。13.cat 1)用途:显示一个或多个文件内容到控制台;2)使用方法:hadoop fs -cat URI [URI …]14.get/copyToLocal 1)用途:将HDFS中的一个或多个文件导出到本地文件系统;2)使用方法:hadoop fs -get/copyToLocal [-ignorecrc] [-crc] URI 3)例子:hadoop fs -get/user/Hadoop/hadoopfile localfile 15.put/copyFromLocal 1)用途:将本地一个或多个文件导入HDFS;以上两个命令唯一的不同是copyFromLocal的源只能是本地文件,而put可以读取stdin的数据;2)使用方法:hadoop fs -put/copyFromLocal URI 16.ls/lsr 1)用途:列出文件夹目录信息;lsr递归显示文件子目录;2)使用方法:hadoop fs -ls/lsr URL 17.fsck 1)用法:hadoop fsck [GENERIC_OPTIONS] [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]] 2)用途:检查dfs的文件的健康状况;只能运行在master上;3)例子:hadoop fsck /user/Hadoop 18.dfsadmin 1)用法:hadoop dfsadmin [command];2)hadoop dfsadmin -help可以列出所有的可用命令;3)主要的有以下几个:-safemode 安全模式操作;-report 报告集群DFS的运行情况。19.HDFS优点:1)高容错性:数据自动保存多个副本;2)副本丢失后自动恢复:适合批处理;3)移动计算而非数据:数据位置暴露给计算框架;4)适合大数据处理;5)GB、TB甚至PB级数据:百万规模以上的文件数量,10K+节点规模。20.HDFS缺点:1)HDFS的响应延迟较大:由于HDFS是为高数据吞吐量应用而设计的,必然以高延迟为代价;2)不适合存储大量的小文件:HDFS中的元数据(文件的基本信息)存储在namenode的内存中,而namenode为单点,小文件数量大到一定程度,namenode内存就吃不消了。21.HDFS主要应用场景(图)第三节 GPFS数据存储方案1.集群的概念:由一组高度结合、紧密协调工作的系统实例组成的计算机集群,看起来如同单台计算机一样的一个整体。2.GPFS Overview:1)GPFS(General Parallel File System)是IBM公司开发的高性能集群文件系统,允许集群中所有的节点访问同一文件的数据,并提供统一的文件存储空间,也可以动态地增加或减少文件系统地容量,允许集群中同时存在AIX和Linux的节点异构;2)IBM GPFS是一个可自由扩展的高性能并行文件系统,同时支持AIX、Linux和Windows操作系统;3)特点:基于高可用的集群架构,可灵活扩展;支持并行的共享磁盘访问方式,提供单一命名空间;针对并行IO负载优化,提供极高的IO处理能力。4)源自Almaden研究中心,93开始,97产品化,虎鲨3.GPFS的基本概念:1)SAN:这里指的是磁盘存储设备通过光纤交换机连接到服务器的HBA卡,为服务器提供逻辑存储LUN的模式,在GPFS集群里面,可以通过将同一个LUN同时划分给多台服务器的方式为GPFS提供共享磁盘;2)Disk:磁盘,指的是LUN在服务器上识别出的设备,对于单HBA卡LUN,AIX操作系统将其识别为hdisk,在多HBA、多路径模式下有以下几种:1.MPIO on AIX=hdisk 2.SDD(non-MPIO)on AIX=vpath 3.PowerPath by EMC hdiskpower 4.HDLM by Hitatchi =dlmfdrv 3)NSD:是Network Shared Disk的缩写,最早应用在GPFS的Linux集群上面。是GPFS实现的一种通过网络共享磁盘的技术,集群节点可以通过标准以太网访问NSD,使得不需要将集群的所有节点都连到SAN上,是基于NSD创建GPFS文件系统。V3.1以后,NSD使用TCP/1191端口。4)VSD:是 Virtual Shared Disk的缩写,源自基于IBM SP、Switch2、HPS交换机的共享磁盘技术,VSD依赖于RSCT域。GPFS看待VSD就像服务器自己的硬盘一样,可以基于VSD来创建NSD。5) Node Quorum:quorum机制决定了至少有多少个quorum节点可用时,集群才可以启动。Quorum的算法为:quorum=1+sizeof(quorum nodes)/2 6)Tiebreaker quorum:通过磁盘的状态来判断系统的可用性。我们可以设置系统通过监视指定的一些磁盘作为Tiebreaker Disk。当超过半数的Tiebreaker Disk掉线时,则判断系统故障,将自动关闭文件系统。Tiebreaker最多只能配置两个用来监控磁盘状态的quorum主机,当两台quorum主机都宕机的话,GPFS系统也将会关闭。其优势在于节点数较少时可用性较高,但节点数较多情况建议采用 Node quorum模式。7)File System Manager:文件系统管理器,每一个GPFS文件系统被分配一个文件系统管理器,文件系统管理器有以下几个功能:文件系统配置管理,如增加磁盘,修复文件系统;文件系统mount和umount处理;磁盘空间分配管理。8)Token Manager:执行分布式Token管理的功能节点,由集群管理软件根据工作负载情况动态地选择哪些节点、多少节点执行Token manager的功能。Token用来维护节点间数据的一致性和完整性。9)File System:文件系统,是物理存储设备和用户之间的接口,其将物理存储设备划分为数据块,并在数据块之上构建数据和元数据的数据结构,达到方便用户(应用程序)对数据操作的目的。GPFS通过条带化技术将数据并行分布到所有共享磁盘上面,并支持如下数据块大小:16K、64K、128K、256K、512K、1024K(1M)、2M、4M、8M、16M。10)Storage Pool:存储池,是指一组磁盘设备,可以根据磁盘的性能和其他物理的、价格的属性分为不同的存储池,从而实现层状的存储架构。存储池是GPFS3.1新增的信息生命周期管理的重要概念,例如可以将某一SAN里面的光纤磁盘和SATA磁盘分为两个存储池。11)Fileset:文件集,也是GPFS3.1版新增的概念,是文件系统的一个子集,粒度介于文件系统和文件(文件夹是一种特殊的文件)之间。12)Policy:规则,是用类似SQL的结构化语法定义的,可以被GPFS信息生命周期管理规则引擎解释执行的一组语句。有文件放置规则、文件迁移规则、文件删除规则等,例如可以编写一条文件放置规则,定义某个文件集里面owner为CEO的所有文件存放在名为FCstoragepool的存储池。13)File system Descriptor Quorum:即描述文件系统信息的数据。我们在几个不同的 failure-group的磁盘上创建GPFS文件系统时,会把文件系统的配置信息(简写为FD)的拷贝写到多个磁盘上,以实现冗余备份。FD quorum的机制即通过判断含有FD磁盘的在线情况来判断当前系统是否正常,当超过半数的含有FD的磁盘掉线时,就判断为系统故障,将会自动关闭文件系统。14)Failure Groups:失效组,是指根据磁盘的物理特性划分的不同的组,避免两个不同的失效组在同一个时间点失效。由于FD quorum 2N+1的机制,数据盘分两组时,一组失效,文件系统仍将会关闭,所以我们在创建一个GPFS文件系统时,可以通过增加一个很小的本地的磁盘作为第三个failure group,以实现2N+1的冗余设计。本地的磁盘可以设置为只保存GPFS文件系统信息(FD),实际不参与数据读写。15)Replication:复制,当GPFS的复制功能启用时,GPFS文件系统的数据和元数据将被保存两个分布在不同的失效组的副本,当其中一个副本不可用时,另一个副本将使文件系统保持可用。16)Cluster Data Server:集群数据服务器是集群中保存集群配置信息的节点,集群配置信息保存在集群数据服务器的/var/mmfs/etc/mmsdrfs文件中。可以配置一个主集群数据服务器和一个备份集群数据服务器。集群启动时需要至少有一个集群数据服务器可用。17)Configuration Manager:配置管理器,在GPFS集群里面具有最长连续运行时间的节点自动被选为配置管理器,配置管理器有两个职能:选择文件系统管理器;判断quorum是否满足。4.GPFS中并行文件系统的概念:1)支持并行I/O操作;数据物理分布在多个存储上;减少磁盘接口带宽造成的瓶颈;2)并行与并发:并行是指在同一时刻,有多条指令在多个处理器上同时执行;并发是指在同一时刻,只能有一条指令执行,但多个进程指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。5.0历史:95视频流98诞生02VTS 05v2.3 06v3.1 09v3.2/3.3 10v3.4 12v3.5 5.GPFS架构(I):1)GPFS:单一的全局命名空间;支持多节点并行读写访问统一文件;通过大文件的并行I/O访问实现性能最大化;将文件分散至不同硬盘,有效地实现负载均衡;通过存储整合提高资源使用率。2)Multiple Traditional File Systems:隔离的文件命名空间;数据不共享;存储利用率难以优化,如:一个文件系统满了,但另一个仍有大量空间。6.GPFS架构(II)1)All disks used by GPFS as NSD;2)NSD creation & discovery:Done once on a single node;Once created, automatically discovery by GPFS daemon on startup on each node;3)NSD Server:A Node with NSD directly attached;Client/Server communications through IP;Up to 8 NSD servers can be configured for each NSD;A file might span multiple NSD servers due to striping。7.GPFS架构(IV)1)Cluster Manager:One per cluster;Elected from a designated指定的 set of “quorum有效 nodes”;2)File System Manager:One per filesystem;Filesystem configuration;Token server for distributed locking;Quota目标 management;Elected by Cluster Manager;3)MetaNode:One per open file;Each node responsible for metadata update of a set of files;Enable concurrent file update without lock conflicts on metadata;Dynamically elected;4)Primary/Secondary Configuration Server:One per cluster;Maintain GPFS cluster configuration;User defined。8.0优势:通过集中管理优化存储利用;可以灵活扩展节点数的网络存储文件系统;具有高可靠性的架构;内置灵活的数据生命周期管理工具帮助解决数据增长难题。8.GPFS特点:1)可扩展:实测4096+服务器,单一管理空间;2)集群:通过光纤网络或高速数据网络连接起来的所有节点,共同组成一个GPFS集群;3)高性能:实测单文件访问速度达到130+GB/sec;4)共享磁盘:同一套磁盘系统能够被2+个服务器访问,可以从服务器故障中快速恢复;5)并行和条带化:数据以及元数据被分片存储于所有的磁盘上,能够被并发访问;6)高可用:基于日志,块级别副本备份,数据和元数据多份拷贝;7)POSIX:全面支持POSIX标准,同时提供单一系统访问。9.GPFS工作方式和扩展方式:GPFS可以在线添加存储和服务器,不影响应用正常运行;GPFS在IO服务器和磁盘存储两层都有很好的线性扩展能力。10.GPFS可以实现:不同平台之间统一的文件系统命名空间;通用高性能存储服务;共享数据、减少文件拷贝数量、提高存储系统利用率;在线系统扩容;简化文件数据管理。11.GPFS适用应用:1)数据库应用:DB2、Oracle RAC、SAP;2)高可用、可扩展文件存储:User File Storage、Multi-Site installations、Disaster Recovery;3)数字媒体:Animation、Broadcasting、video Surveillance;4)Web应用:Email services、Web Server Farm、Online Data、Storage;5)网格应用:Scientific Computing、Life Sciences、Analytics。12.GPFS主要优势:在线滚动升级、扩容;高性能;高可用性;安装、配置、管理简单;支持ILM(信息生命周期管理);开放式异构平台,扩展灵活。13. GPFS优势之高性能:1)文件存储采用条带化技术,单个文件跨节点和存储系统分布,提高并发访问性能;2)智能预取机制,通过对文件访问模式的预测来进行预取,降低读写延迟;3)分布式的块级锁管理,包括文件和目录两个级别,允许最大程度的并发访问;4)分布式元数据服务器,避免元数据处理成为系统瓶颈;5)支持客户端数据缓存,不同节点可以根据需要设置不同的缓存大小;6)数据块的大小可自定义,16K ,64K,256K,512K,1M,4M;7)NSD通信支持InfiniBand高速网络。14. GPFS优势之可扩展性:1)最大可支持数千个节点的集群规模和数百GB每秒的IO吞吐量2)在不停止服务的情况下向集群添加和删除节点;3)在不停止服务的情况下向文件系统加入和删除磁盘;4)在不停止服务的情况下修改文件系统属性(最大inode数等)15.GPFS优势之高可用性:1)先进的quorum仲裁管理机制,确保系统最大程度的可用性,没有单一故障点;2)管理服务器在manager资源池内实现自动故障切换;3)支持多路径磁盘访问,一条路径访问失败,可以通过其它路径实现,每个NSD可以支持8个NSD Server(ServerList);4)支持元数据和用户数据的双份复制(replication),保证系统稳定可靠;5)Rolling Update,不中断服务的滚动升级;支持日志功能,实现系统快速恢复。16.GPFS优势之便捷的管理:1)用户接口简单,与常用文件系统类似。方便用户使用;2)单点管理,可以集群内任何一个节点上完成对GPFS的管理任务。命令将在所有节点上生效;3)自动在各个节点间用步配置文件和系统信息。17.GPFS与其他FS系统结构的比较:1)客户端-服务器结构的网络文件系统(NFS,DFS or AFS):存在单个服务器“瓶颈”;网络协议导致额外开销;2)SAN文件系统:元数据服务器是一个潜在的性能瓶颈和单一故障点;3)GPFS的Manager资源池:GPFS文件系统的元数据服务是分布式的,在一个manager的资源池里面自动均衡分布,自动实现failover,确保元数据服务不会成为系统的性能瓶颈和单一故障点。

第四节 分布式数据库HBase数据存储方案 1、ACID:数据库事务正确执行的四个基本要素,一个支持事务的数据库必须具有这四种特性,否则无法保证数据正确性;原子性(HBase只保证Row级别原子性);一致性&隔离性;(只保证Row级别一致性;Scan操作不能保证一致性);持久性。2、Hbase简介:一个分布式的、面向列的开源数据库,不同于一般关系数据库的两点,一是适合非结构化数据存储,二是基于列而不是基于行(2006发起,10升级Apache顶层项目)。3、与RDBMS对比:硬件架构(成本低廉的分布式集群vs昂贵的多核系统);容错性(多个节点组成不担心一/几个节点宕机vs需要额外设备实现HA(高可用性)机制);数据库大小(PB.vs.GB/TB);数据排布方式(稀疏多维分布的Map.vs.行和列组织);数据类型(Bytes.vs.丰富的数据类型);事务(只支持单个row上ACID.vs.全面ACID支持,对Row和表);查询语言(只支持JavaAPI.vs.SQL);索引(只支持Row-key.vs.支持);吞吐量(百万查询/s.vs.数千查询/s)。4、架构概览:数据存储于HFile;Region Server存储HFile。5、HBase中表的特性:表由Row组成(每个row有唯一rowkey);每个row由一个或多个Column组成;每个Column有多个版本数据,由时间戳区分(最近一个版本的数据会被返回给客户端);Column Family则有多个Column组成(如Sample中的info:fn);Column可以是NULL;Time Stamp版本通过时间戳索引,每个cell中不同版本数据按照时间倒序排序即最新数据在最前面;cell=Row key+CF+CQ+Version;HBase是一个有序的多维Map(每个RowKey会映射到一些数据、数据存储于CF中的column)。6、HBase物理存储:Table(Table中所有行都按row-key的字典序排列;在行的方向上分割为多个Hregion);HRegion(Region按大小分割,每个表一开始只有一个region,随着表的插入不断增大,当增大到阈值,HRegion会等分为两个新的HRegion;HRegion是HBase分布式存储和负载均衡的最小单元,这表示不同HRegion可以分布在不同HRegionServer上,但一个Hregion不会拆分到多个server上;HRegion是分布式存储最小单元,但不是存储的最小单元,下层还有Store,Store以HFile的形式保存在HDFS上);HFile(真实用于存储数据的地方;一个HFile由多个data block组成,并包含一些结尾的称为trailers的block;默认Block大小为64K,若有序访问建议设置较大,若随机访问则较小;默认Block为64M);HLog[WAL log](意为WriteAhead,用作灾难恢复,记录数据所有变更,一旦数据修改可从log中恢复;每个Region Server维护一个HLog,而不是一个Region一个,这样来自不同的table的不同region会混在一起,原因是不断追加单个文件相对于同时写多个文件可减少磁盘寻址次数,缺点是若一台RegionServer下线,恢复其上的region时需将log拆分分发到其他RS上恢复)。7、HBase模块:Region(用于存放表中行数据;当一个表格很大,数据存放并共享在多个Region中;每个Region中存放一个单一的Column Family);RegionServer(一个RS包含多个Region;管理表格以及实现读写操作;Client直接和RS通信获取数据);Master(协调多个RS;侦测各个RS的状态并平衡他们之间的wordload;分配Region给RS;允许多个Master节点,但只有一个服务,其他backup;和zookeeper一起实现HA)。ZooKeeper(HBase至关重要的模块;确保有一个Master处于Running状态;注册Region和Region Server;属于HBase容错性的一部分);HDFS(Hadoop的分布式文件系统);API(HBase提供Java的Client API)。8、Client API为什么使用Java:HBase的实现语言是Java;目前HBase唯一完全支持的语言;HBase的应用以jar的形式被Deploy到Hadoop的集群。Java client API:HbaseAdmin、HtableDescriptor、Configuration等。HBase non-Java access:languages talking to the JVM;HTable;Thrift。9、Region Server详解:HBase中的HFile主要有HRS处理;一个HRS包含一个或多个HRegion;一个HRegion包含一个或多个Store;每个Hregion处理一个单一的ColumnFamily,并且是其中有限的row或range;每个Store包含一个或多个StoreFile和一个MemStore;每个StoreFile包含一个HFile;HLog由RS中所有Store共享。10、如何写HFile:HRS获得请求并传送给Hregion->Hregion将请求写入Hlog->HRegion将请求写入MemStore(MemStore满时将数据写入HDFS中的HFile)->当一个HRegion到达上限,将会产生两个子代HRegion,并随之将数据分为两部分。11、详细读写过程:client向region server提交写请求; region server找到目标region;region检查数据是否与schema一致;如果客户端没有指定版本,则取当前系统时间作为数据版本;将更新写入WALlog;将更新写入Memstore;判断Memstore的是否需要flush为Store文件。12、其他HBase的Client:交互式HBaseClient(Rest、Thrift、Avro、Others);BatchClient(Batch一般用于在后台异步的操作比较大的数据集;MapReduce相关有NativeJava、Hive、Pig;非Mapreduce如Phoenix)。13、Hive:Facebook在Hadoop上开发的一个类数据库产品,目前已属于Hadoop生态圈重要组成部分;HiveSQL类SQL语言,支持通过HSQL访问HBase数据库;查询操作被转换为MR任务;将Hive的表映射到Hbase中(当删除Hive的表,HBase的表也会随之删除);将HBase的表映射到Hive中(当删除Hive的表时,HBase表不会被删除)。14、HBase应用场景:存储非结构化数据,快速定位查询,可伸缩的数据库系统;适用于数据库支撑有困难或收益比太低的场景,如数据量增长且要存储较长时间累积的数据量较大的场景、海量数据groupby、sum、avg场景、hadoop分析完毕后结果要在线二次分析的场景。第五节 大数据存储方案应用 并行文件系统应用场景:1)流水线式业务处理流程:BI数据仓库中的数据加载、处理、分析;计费系统的分拣、排重、批价,节点调度、计费控制、计费处理等;多节点数据库的备份和恢复,配合TSM使用;现有使用NFS的场合;2)云环境下数据共享和分布处理;3)Oracle RAC并行数据库:文件系统模式。第三章大数据处理第一节 大数据分布式处理框架的发展 计算机的都有哪些计算资源:CPU,计算机的计算单元;MEM,内存,操作系统缓存数据的地方;磁盘,存储数据和程序所在的地方;网络IO,传输数据的通道;计算资源的使用:使用socket在网络上传输数据;打开一个磁盘上的文件(C、C++中的fopen、Java中的File类);在程序中申请一个段内使用(C的malloc堆内存;C++的new堆内存;java的内存申请由JVM完成);处理大数据可以使用的架构:分布式架构、集中式架构(需要考虑的因素:成本、处理能力、稳定性、可扩展性);4、分布式大数据框架的发展:4代 第一代,以 Hadoop为代表的MapReduce计算框架 第二代:Tez、Oozie等在hadoop之上支持DAG的计算框架 第三代:以 Spark为代表的实时计算框架(内存计算)第四代:以FLink为代表的实时流计算框架(进一步提升实时性)5、分布式系统层次:应用层(终端应用;数据抽取,数据清洗,模型分析)平台层(分布式任务管理(eg MPI Hadoop MapReduce SporkStorm Flink)分布式资源管理(eg.yarn, Mesos IBM Platform EGO)存储层(分布式文件系统(eg.hDFs HBase Alluxio(Tachyon))、分布式数据库、传统数据库和文件系统接入) 平台层必要功能和组件: 集群资源管理(收集集群中机器的配置和运行参数、为上层应用按照配置的策略分配计算资源、在计算节点上启动和监控真正完成计算的进程、微服务管理(SOA VS Mirco Service));作业和任务管理:(为用户提交的作业按照配置的策略分配计算资源、作业信息和进度监控和展示) Mirco Service:微服务架构(一组服务的方式来构建一个应用、服务独立部署在不同的进程中、不同服务通过一些轻量级交互机制来通信)、微服务架构特征(通过服务实现组件Library-Process、按业务能力来划分服务与组织团队frontend/backend/DBA->fullstack、独立升级)7、批处理系统:用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。分布式文件系统HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐率来访问应用程序的数据,适合超大数据集的应用程序。Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量数据提供存储。MapReduce对海量数据进行计算。其中,MapReduce的作业主要包括:从磁盘或网络中读取数据,即IO密集工作;计算数据,即CPU密集工作。8、流式系统:storm、spark streaming、Flink、Kafka。9、分布式框架的稳定性:关键的节点宕机之后会发生什么,如何保证一个分布式系统的某一个节点宕机之后,并不影响整体的功能,或者减小影响。9、Zookeeper介绍(1)Hadoop子项目,提供类似Google chubby的功能(2)为分布式系统提供协调应用服务,包括但不限于分布式锁、配置维护、队列、选举等(3)基于basic/fast Paxos(默认)算法,工作流程大致:选举leader、同步数据、集群中大多机器 follow选中的leader 10、Zookeeper概述:一个分布式的服务框架,解决分布式集群中应用系统的一致性问题,提供基于类似于文件系统的目节点树方式的数据存储,不是用来专门存储数据的,主要是用来维护和监控存储的数据的状态变化。11、Zookeeper的重要特性:结构简单(类似于文件系统的树状结构);数据备份(一致性);有序性(有序的事务编号zxid)、高效性(所有server都提供读服务)。12、Zookeeper API:create、delete、exitsts、setData、setACL,所有API接口都是以操作znode为中心的。13、ZooKeeper节点:根节点、节点名称和节点数据(二进制)、节点类型(临时节点:session过期后自动删除、持久化节点:持久化到硬盘;有序节点:包括临时和持久化两种类型,节点名称后自动添加编号)14、Watch事件:节点上可以添加Watch;事件类型(NodeCreated节点创建;NodeDataChanged节点数据修改;NodeDeleted节点删除;NodeChildrenChanged子节点改变);自动触发;一次注册一次响应。14、Zookeeper的数据存储:Loaded into memory所有节点数据信息全部保存在内存中;Write Ahead Log写操作日志记录,用于数据恢复;ShapShot数据快照。15、Zookeeper系统角色:Follower、Leader、Observer。16、Leader选择算法:LeaderElection每个server轮询所有server,获取每个server的投票,统计zxid最大的server的得票数,同时更新自己的选票,得票>1/2节点数时选举结束等待所有服务器返回后再统计投票结果,最后选择的leader有可能不是zxid最大的server;FastLeaderElection添加logicalclock控制,每一次新的选举,所有节点的起始值一样。每次收到回复都会计算投票结果,计算方法同LeaderElection一致。16、zookeeper的应用场景:统一命名服务(树形目标结构可以作为命名规则)、配置管理(配置信息统一维护在zookeeper中,需要的客户端可watch配置信息节点状态,当配置信息改变时会自动触发watch,通知客户端)、集群管理(通过EPHEMERAL node监视server活动状态,server启动时创建临时节点,如果server退出,则节点自动删除)、分布式共享锁(server创建EPHEMERAL_SEQUENTIAL目录节点,当目录节点列表中最小的目录节点就是自己创建的目录节点他就获得锁,释放锁时删除自己创建的目录节点;通过竞争创建同一目录节点获取锁,释放锁时删除创建的目录,未获取锁的server监听目录节点的状态)、队列管理(SEQUENTIAL节点):当所有队员聚齐时队列才可用,否则等待,同步队列;按FIFO入队出队)17、Zookeeper总结:优点(高效、稳定、容错;部署配置及接口比较简单;应用范围广)问题(socket敏感,由于网络原因易出问题)第二节 Hadoop处理框架1、Hadoop一代:相关组件(HDFS、MapReduce)2、MapReduce模型:两个主要方法-map和reduce。Map方法(由用户自己实现;Task提供给Key-Value的键值对输入,并产生中间数据;中间数据会被重组和排序,并传送给Reduce方法;map(k1,v1)->list(k2,v2))3、Reduce方法(由用户自己实现;接收key-value的中间数据(value是一个集合);融合所有数据(相同key),并输出对应数据;reduce(k2,list(v2))->list(v2))4、WordCount:usr/file1,usr/file2,usr/file3->Mapreduce->usr/wc.5、Hadoop一代的缺点:职责太集中,易出单点问题(JobTracker既负责资源分配,又负责作业管理,一旦宕机,影响严重);计算框架不可扩展(只支持Mapreduce的任务);只支持一个NameNode和多个DataNode。 第三节 MapReduce应用模型 1、Hadoop的进化(Yarn资源管理框架的产生。将作业管理和资源管理抽象为两个层级,分开管理。由此hadoop可以同时支持多种计算框架;MapReduce运行时的变化。一代中JobTracker管理MapReduce作业,TaskTrackers负责Task,二代中MapReduce只是Yarn内置的一种计算框架,由 Resource Manager和Application Master一起来控制 MapReduce, Rm负责资源层,Am负责作业控制。HDFS Federation。对HDFS进行改进,使 NameNode 横向扩展为多个,每个NameNode分管一部分目录,增强了HDFS的扩展性,具备了隔离性。)2、Hadoop周边项目 Ambari:一个对Hadoop集群进行监控和管理的基于Web的系统。Hbase:分布式的,面向列的数据库。Hive:数据仓库系统,可将结构化的数据文件映射为一张数据库表,使用类SQL语言HiveQL来管理数据。Flume:高可靠的分布式海量日志采集、聚合、传输系统。Pig:一个基于Hadoop的大数据分析平台,PigLatin的高级语言表达大数据分析程序。Drill:对大规模数据集交互式分析的分布式系统。Mahout:一个机器学习领域的经典算法库。Oozie:工作流调度系统,管理Hadoop里的job,把多个MR作业组合到一个逻辑工作单元完成指定目标。Sqoop:一个Hadoop和关系型数据库之间的数据转移工具,可将关系型数据库的数据导入HDFS中,反之可。Zookeeper:针对大型分布式系统的可靠协调系统,提供配置维护、名字维护、分布式同步和组服务等功能,hadoop管理用的就是zookeeper。3、DAG:有向无环图的计算。4、为什么会有DAG:一个复杂迭代算法需分解为多个MapReduce任务执行,任务之间存在依赖关系,需client自己维护;有的应用算法需一个map或reduce即可,但mapreduce框架中mp必须成对出现。4、支持DAG的框架:Tez(源于MR,将M、R操作进一步分解,分解后的元操作可以任意灵活组合,产生新操作,经控制程序组装后,可形成大的DAG作业,Tez是MR相关API的进一步封装实现,Tez基于Yarn,需要与Yarn共存,将多个有依赖的作业转换为一个作业),Oozie(作业级,将多个MR任务间定义了依赖和顺序,按顺序执行MR作业,Tez比Oo好)。5、Hive是基于Hadoop的数据仓库系统,能方便对存储于Hadoop兼容文件系统的大数据集进行简单的数据汇总,即席查询、分析。提供一种机制,类sql来组织数据和对数据进行查询。允许MR以插件编写自定义M、R处理其他逻辑。6、Hive的服务端组件:Driver组件(Complier、Optimizer、Executor,将HiveQL语句解析、编译优化、生成执行计划,调用底层mr计算框架);Metastore组件(元数据服务组件,存储Hive的元数据);Thrift组件(facebook开发的软件框架,用来进行可扩展跨语言的服务的开发)。7、Hive的客户端组件:CLI(命令行接口);Thrift客户端(hive的客户端接口建立在它之上,包括JDBC、ODBC);WEBGUI(提供一种通过网页的方式访问hive所提供的服务,对应hwi组件,使用前启动hwi服务)。8、Hive适用场景:非结构化数据的离线分析统计。场景技术特点(为超大数据集设计的计算、扩展能力;支持SQLlike语言查询;多表join操作;支持非结构化数据查询计算;提供对数据存取的编程接口,支持jdbc、odbc)。9、Hive的发展:Hive on Mapreduce;Hive on Tez;为什么Hive用Tez作为优化引擎?10、流计算:Hadoop只能分析静态数据,Storm是处理流式数据的系统。11、Storm介绍:一种流式分布式计算框架,用于实时分析、在线机器学习、持续计算、分布式远程调用和ETL等领域,主要针对的是Hadoop延迟大,响应缓慢,运维复杂而提出的分布式计算框架。Nimbus为master节点,用于响应分布在集群中的节点,分配任务和监测故障,类似hadoop中jobtracker;Supervisor为worker,收听工作指派并运行工作进程;Zookeeper完成Supervisor和Nimbus之间协调的服务。12、Storm相关的概念:Streams(Streams,由连续的元数据(Tuple)形成;Tuple,为一次消息传递的基本单元,可认为是一个value list);Spouts(数据源,即发送元数据的始端);Bolts(计算单元,用于处理发送过来的元数据,并产生新的Streams(连续的元数据);13、Bolts举例:Functions计算方法、Filters过滤某些数据、Aggregation聚合算法、Join操作、更新数据库;14、Topology(拓扑图,一组由Spouts数据源和Bolts数据操作通过Stream Groupings上进行连接的图);Stream Groupings(流在Bolt任务间如何切分:随机分组;字段分组;全部分组;全局分组;无分组;直接分组,用户实现CustomStreamGrouping接口定制分组);Task(worker中每一个spout/bolt的线程称为一个task)。第四节 Hadoop YARN 原始架构Yahoo,2008,Arun Murthy 2、为什么会有YARN 计算框架的多样性发展,用户搭建多个不同集群承载不同计算框架,浪费物理资源;Hadoop一代的缺点;YARN可提供统一的资源管理。YARN相关概念:Container(Allocation的基本单元;替代了原有Map、Reduce的slot;细粒度地应用多种类型资源);Application(在YARN中提交一次任务就是一个APPlication,例如运行一个mapreduce的任务)YARN的架构:Resource Manager(全局的资源管理模块、多层Quene);Node Manger(每台机器都会启动的Agent;管理container的生命周期;监管container的资源状态(启动Container));Application Master(每一个Application启动一个AM;管理Application的任务调度)5、YARN的设计思想:从JobTracker中分离两个主要的功能:集群资源的管理、Application生命周期的管理;将MapReduce演变为用户侧的系统库YARN中提交一个任务时序图:client提交一个app;RM申请一个container启动AM;AM向RM进行注册;AM向RM申请Container资源;AM向NM发送通知,启动已经获取的container;app的应用逻辑在container中执行;client向AM和RM联系,获取App和container运行的状态;AM向RM通知退出。7、多租户:支持在同一个集群中同时运行多个用户的workload,并保持各个用户任务和数据的相对隔离性;优点为提高集群资源利用率、降低成本。8、Capacity和Fair调度器的对比:Capacity Scheduler:容器调度器会预留容器中的部分资源。当一个大应用执行时不会占据集群中的所有资源,一个专门的预留队列使用预留的资源处理资源占用较小的小作业。这样大应用执行时间相对增加,但是能够在较为合理的时间为小作业提供结果。Fair Scheduler:公平调度器在运行的作业之间动态平衡资源。第一个大作业启动时会得到所有的资源,当第二个作业执行时,会分配到一半的资源,这样每个作业都能公平的共享集群资源。与Capacity Scheduler对比:1)目标:提供一种多用户共享Hadoop集群的方法,以提高资源利用率,降低集群管理成本;2)设计思想:(Capacity)资源按比例分配给各个队列,并添加各种严格的限制防止个别用户或队列独占资源;(Fair)基于最大最小公平算法将资源分配给各个资源池或者用户;3)都支持动态加载配置文件;都支持资源抢占(队列剩余资源可共享给其他队列,当队列有新应用提交时,调度器强制回收);都支持批量调度;4)Capacity不支持负载均衡,Fair支持;5)Contained请求资源粒度:(Capacity)最小资源量的整数倍,比如Container请求量是1.5GB,最小资源量是1GB,则Container请求自动被归一化为2GB;(Fair)有专门的内存规整化参数控制,粒度更小。6)本地性任务调度优化:(Capacity)基于跳过次数的延迟调度。7)队列间资源分配方式:(Capacity)资源使用率低者优先;(Fair)Fair,FIFO或DRF。8)队列内部都支持多种调度方式: FIFO、Fair或DRF。FIFO,Fair和DRF 分别指先来先服务、公平调度和主资源公平调度,具体含义如下:FIFO:先按照优先级高低调度,如果优先级相同,则按照提交时间先后顺序调度;如果提交时间相同,则按照(队列或者应用程序)名称大小(字符串比较)调度。FAIR:按照内存资源使用量比率调度,即按照used_memory/minShare大小调度(核心思想是按照该调度算法决定调度顺序,但还需考虑一些边界情况)。DRF:按照主资源公平调度算法进行调度。 9、资源抢占:已经支持队列之间的抢占和队列内部不同用户的抢占;抢占优先抢占低优先级的;抢占发生时,RM会发送请求到APP释放Container,一定时间内Container未被释放,系统会强制杀死Container。10、YARN对资源的控制:调度器默认以内存作为首要资源;Admin可以制定集群可用的CPU使用程度,每个App也可指定其每个container所能使用的CPU资源;Admin可以启用Cgroup来隔离YARN中的CPU资源。YARN优势:支持更多的节点;新的编程模型;提升了集群资源的利用率;敏捷性。12、YARN的应用:在线服务的(HOYA,即HBase on YARN);实时流处理系统(storm、S4);通用的DAG计算框架(Tez);MPI相关的(OpenMPI);内存计算Spark。13、如何实现一个Yarn上的应用只需要3种协议:Cilent到RM- Appicationt的提交注册;AM到RM—资源的申请(Container Allocation);AM到NM–Container的启动。使用Client的库实现以上的三种操作:Yarn-client模块;提供了同步和异步的用户库;也可以使用第三方的库如Weave;需要做的?写一个提交Application的client、实现AM (可以参考MR的)第五节Spark 提交命令:spark-submit 1、Spark引言:Spark的实现语言主要是由Scala实现,以及它的接口也主要支持Scala和Python、R语言。2、Scala简单介绍:语言:Java Scala Clojure Jruby Jython;编程语言被编译成Java虚拟机能识别的中间语言----Java字节码;Java虚拟机识别和运行Java字节码3、Scala&Java:case class Time(hours:Int,minutes:Int)4、Scala的好处:1面向对象和函数式编程理念加入到静态类型语言中的混合体2Scala的兼容性—能够与Java库无缝的交互3Scala的简洁性—高效,更不容易犯错4Scala的高级抽象5Scala是静态类型—类型推断6Scala是可扩展的语言5、Scala的变量定义val和var;Scala的基本类型Byte Short Int Long Char String Float Double Boolean;Scala的异常处理try{}catch{case ex:Exception=>//Do something}finally{}6、Spark基础组件:1Spark Core,RDD;2Spark SQL,DataFrame/DataSet;3Spark Streaming;4Spark Mllib;5Spark GraphX;6Spark R Spark概述:Apache Spark是一个高效的通用分布式计算框架.它提供了基于Java,Scala,Python和R的开发接口,并支持各类流行的计算模式,如针对结构化数据的类SQL数据分析Spark SQL,针对机器学习的Mllib,针对图计算的GraphX和针对流计算的Spark Streaming.优势:1性能:内存计算和pipeline ;2丰富的开发接口适用于不同场景;(接口形式:RDD,Dataframe,Dataset接口场景:SQL,ML,Streaming,Graph,Statistic)8、Spark适用场景与运行模式:1.Spark是基于内存的选代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大的场合,受益就相对较小。2.由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用,例如web服务的存储或者是增量的web爬虫和索引。就是对于那种增量修改的应用模型不适合。运行模式支持:本地模式、Standalone模式、Mesoes模式、yarn模式RDD介绍RDD,全称为Resilient Distributed Datasets,是一个容错的、并行的数据结构,可以让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区。同时,RDD还提供了一组丰富的操作来操作这些数据。数据分析常见模式:Iterative Algorithms、Relational Queries、Map Reduce、Stream Processing RDD的操作:Transformations (define a new RDD);map、filter、sample、groupByKey、reduceByKey、sortByKey;flatMap、union、join、cogroup、cross、mapValues;Actions(return a result to driver program);collect、reduce、count、save、lookupKey DataFrame是什么:Dataframe是一种以RDD为基础的分布式数据集,类似于传统数据库中的二维表格。Dataframe与RDD的主要区别在于,前者带有schema元信息,即Dataframe所表示的二维表数据集的每一列都带有名称和类型。这使得Spark SQL得以洞察更多的结构信息,从而对藏于DataFrame背后的数据源以及作用于Dataframe之上的变换进行了针对性的优化,最终达到大幅提升运行时效率的目标。12、Spark Streaming:基本原理是将输入数据流以时间片(秒级)为单位进行拆分,然后以类似批处理的方式处理每个时间片的数据。13、Spark Streaming窗口:一个滑动窗口时间段内的所有RDD会进行合并以创建windowed Dstream所对应的RDD。每个窗口操作有两个参数:1window length-The duration of the window,滑动窗口的时间跨度,指本次window操作所包含的过去的时间间隔。2sliding interval-The interval at which the window operation is performed窗口操作执行的频率,即每隔多少时间计算一次。14、Flink使用场景:实时流数据处理、批处理15、Flume:分布式日志收集系统,事务管理、失败重启,核心:agent(java进程:source收集日志、channel临时存储,sink发送成功后删除、sink数据发到目的地),数据传输中,流动的时event,事务保证在event级别,支持多级,扇入扇出。16、Spark MLLib:机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动学习的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。Spark机器学习库提供了常用机器学习算法的实现,包括聚类、分类、回归、协同过滤、维度缩减等。使用Spark机器学习库来做机器学习工作,可以说是非常的简单,通常只需要在对原始数据进行处理后,然后直接调用相应的API就可以实现。但是要想选择合适的算法,高效准确地对数据进行分析。17、MLLib介绍:MLLib是解决机器学习问题,Spark的可扩展的机器学习库,由通用的学习算法和工具类,包括分类、回归、聚类、协同过滤、降维。1基本统计(概括统计、相关性、分层取样、假设检验、随机数生成)2分类。分类一般针对于离散型数据而言的,回归是针对于连续型数据的。本质上是一样的(线性模型[支持向量机SVMs、逻辑回归、线性回归]、贝叶斯算法、决策树、多种树[随机森林和梯度增强树])3协同过滤(交替最小二乘法ALS)4聚类(k均值算法)5降维(奇异值分解、主成分分析)6特征提取和转化7优化部分(随机梯度下降、短时记忆的BFGS)18、GraphX介绍:GraphX是构建Spark上的图计算模型,GraphX利用Spark框架提供的内存缓存RDD、DAG和基于数据依赖的容错等特性,实现高效健壮的图计算框架。GraphX扩展了Spark RDD这种抽象数据结构,这种Property Graph拥有两种Table和Graph这两种视图(及视图对应的一套API),而只有一份物理存储。19、Spark面临的一些缺陷:1基于磁盘的数据共享2当任务的进程crash之后,缓存在任务进程的数据丢失问题3数据冗余以及带来的额外的Java GC消耗20、ALLUXIO介绍(前Tachyon)ALLUXIO是一个可靠的以内存为主要介质的分布式存储系统,也是Spark默认的off-heap存储方案。它可以:1集中管理集群的内存使用2在存储层提供数据恢复的计算21、ALLUXIO(前Tachyon)解决以上三个问题1数据共享2数据恢复3避免重复的GC22、ALLUXIO的架构将节点分为Master和Worker、依靠Zookeeper实现Master的HA23、ALLUXIO中数据的世代关系以及恢复1Tachyon会记录数据的世代关系2当数据丢失时,Tachyon会根据世代关系重新提交任务计算出该数据24、Kafka是一个分布式的消息分发平台,起源于LinkedIn,于2011年开源。主要由Scala实现,还有一些Java的代码。25、Kafka的相关术语1Kafka维护着各种各样的消息,我们称之为Topic。2产生消息并发送给Kafka之处,我们称之为Producer。3使用消息的订阅者,我们称之为Consumer。4Kafka本身作为一个集群运行,每一个Kafka的节点,我们称之为Broker。26、Kafka简介1Producer发送数据给Broker;2Consumer从Broker处读取数据3所有的操作都是分布式的4数据存储在Topics中5Topics被隔成多个重复的Partition27、比较Kafka和传统的消息系统1它被设计为一个分布式系统,易于向外扩展2它同时为发布和订阅提供高吞吐量3它支持多订阅者,当失败时能自动平衡消费者4它将消息持久化道磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。28、Kafka Partition1Topic会被分割成有序的Partitions2每一条在Partition中的消息会被分配一个顺序的id,我们称之为偏移量3数据会在驻留在系统一段配置的时间29、Topic的复制1Kafka中的Topic会被复制多份2复制是以Partition为单位的3每一个Topic的Partition会有一个leader4每一个Topic的Partition会有0或多个复制品5Partition的一组同时更新的replicas,称之为ISR(In-Sync Replica)30、为什么Kafka很快写操作Kafka会将数据持久化到磁盘,不过本质上Kafka会将数据写到OS的页缓存;读操作Kafka会直接将OS的页缓存数据传输到Socket中,这里很多时候使用的便是Linux OS的系统调用sendfile()31、Consumer1 多个Consumer可以读取同一个Topic的消息2每一个Consumer负责管理自己用的偏移量3每一个消息会驻留在Kafka上,直到消息被读取后才被删除4当Consumer获取消息之后会离开,当要读取的再来到这个Paetition,如此往复的读取消息32、Consumer分组于Partition1一个Topic的Partition是可配置的2在Consumer分组中指定了访问的Paetition33、Kafka的应用案例1实时流处理系统2消息总线3收集app\server或者一些设备的运行信息4log的收集34、Elasticsearch一个分布式的RESTful全文搜索分析的平台1分散的作业架构,具有高扩展性、可随时增加或移除一个节点,并保证资料的正确性2使用Apache Lucene存储JSON文件,提供全文搜索功能3所有的操作均可通过RESTful API完成4跨平台,java编写;记录、搜索、分析第六节大数据平台的部署1、Ambari介绍:Ambari是一个用于创建、监视和管理Hadoop集群的分布式框架。用户可以方便的通过Ambari WEB提供的功能进行操作。Ambari支持自定义服务扩展,用户可以通过Ambari的接口,支持第三方服务。2、Ambarit相关的模块 Ambari-Web、Ambari-Server、Ambari-Agent、Ambari-metrics-collector、Ambari-metrics-monitor Ambari相关的概念:Stack:我们都知道一个大数据的解决方案是由多个框架共同写作完成的,这些协同的软件共同的构建了一个生态圈,一般我们就把这个软件集称为一个Stack。由于软件之间,往往有一定的匹配版本关系,因此Ambari中都有多个版本的Stack,每个Stack中都有其版本匹配的框架。Service:Service也就是提供某一种功能的一个软件。例如MapReduce和Spark都是Ambari中的一个Service。一个Stack就是由多个版本匹配的Service组成。Component:一个Service又会由一个或多个Component(模块)组成。Component有Master、Slave、Client三种类型。Action:我们在Ambari WEB中经常使用的就是Action,也就是一种操作,其会通过Ambari Server传递给Ambari Agent,进而操作Service以及其模块。Metrics:Ambari会检查系统的各项性能指标,这都是通过Metrics实现的。Alert:这是Ambari的一种告警机制,其会定期检测机器或机器上某一个Service Component的状态。如果状态异常,Ambari会在WEB中以告警提示用户。Ambari基础原理和机制:Ambari Server在启动的时候会读取每个Service以及Stack的定义文件;当用户需要添加一个Service时候,Ambari Server会通知用户指定的Ambari Agent机器进行下载和安装Service的某个Componet(模块),并且会将该Service的控制脚本和资源文件传递给Agent,之后Agent便会开始执行下载和安装;安装完成之后,Ambari Server会心跳的向Agent查询每个Service各个模块的状态,并同步到Server的数据库。并且Ambari Server会根据该Service定义的Metrics和Alert,生成对应的检查实例。Metrics主要监控性能相关的指标,Alert实例则监察某一项数据是否到达阀值,如果到达,Alert实例则产生预警;用户可以通WEB管理装好的Service,也可以直接使用Rest API进行管理。5、Ambari Service ActionStart:启动Service的所有模块;Stop:停止Service的所有模块;Restart All:重启所有模块;Run-Service Check:检查该Service是否处于正常状态;Maintenance Mode:打开整个Service的维护模式。打开之后,该Service的所有模块不会再产生告警,并且所有的批操作都会越过该Service。6、Ambari Host Action:与Service Action不同,Host Action的实施主体是机器。我们可以在Host页面中选择想要操作的机器,进而可以选择执行怎样的操作。如果打开Host级别的维护模式,则该机器上所有的模块(多个Service)都不会再产生的告警,批操作也会越过该机器上所有的模块。Ambari的Service配置选项:1当在Ambari集中部署一个Service时候,用户需要对该Service做一定的配置。2当Service部署完成后,用户可以通过Service的Config页面更改现有的配置。3当Service的配置有所更新后,Ambari必须重启该Service相关的模块,才可以使新的配置生效。Ambari的告警:1Ambari内置了很多Alter的定义2当一个属性超过Alert定义的阀值,Ambari就会产生预警,并显示在WEB中3用户可以在Alert的分页中,管理现有的Alert(禁用或开启,以及修改Alert各项属性)4Alert有三种常见的预警级别(OK WARN CRIT)Ambari的扩展:Ambari是一个很好的管理工具,用户可以通过实现Ambari的接口,从而实现让Ambari管理第三方的Service 用户需要实现接口有:1定义文件(metainfo.xml)2控制脚本(install/start/stop/status)3配置文件(key-value的键值对定义)4资源文件Ambari的Metrics和Widgets:1Ambari强大的监控机制离不开Ambari的Metrics,一般我们将Metrics机制简称为AWS(Ambari Metrics System)2Ambari Metrics本身也是作为一个Ambari的Service部署在Ambari的Agent中3Metrics中庞大的数据存储在内置的Hbase实例中,这个Hbase是Ambari自己部署管理的。默认情况下使用本地文件系统作为存储,用户可以更改为HDFS。4AWS主要由三部分组成Metrics Collector、Metrics Monitor和Hadoop Sinks。后两个发送监控数据到Collector。Collector提供查询的Rest API。5Monitor往往是独立于Hadoop生态圈的实例,多用于发送机器本身性能数据到Collector(大多时候可能就是一个Shell或者Python脚本)。Hadoop Sinks往往就是一个jar包,用各个Hadoop生态圈的Service读取和启动。多用于监控本Service的相关数据。6Ambari WEB中的Widget控件会通过Ambari Server向Collector查询相关Metrics属性并显示。11、IBM Spectrum Symphony:什么是Symphony:1一个分布式大数据计算的中间件2企业级的集群管理框架3一种大数据的解决方案;What is NOT Symphony:1不是一个数据库2也不是文件系统;What problem Symphony can resolve:并行化的计算,并加速计算;Why choose Symphony for distributed computing:1性能优势2稳定性和扩展性(目前最大支持128K slots)3支持HASymphony的相关概念:任务管理层SOAM(Client/Service用户根据API开发出来的客户端与服务、Application[client、service、profile]、Session/task[Job/task])集群资源管理层EGO(Resource[slot,计算计算资源的抽象单元]、Consumer、Resource group资源分组)Consumer的概念:Consumer可以类比一个账户,用于申请存放资源Symphony主节点叫master;启动时第一个进程是lim。Master lim,Slave lim SOAM层的架构SD(Session Director):负责启动和监控SSM的状态,并为Client找到对应的SSM;SSM(Session Manager):负责管理一类应用的任务,并为该类应用申请资源;SIM(Service Instance Manager):用于启动和监控客户开发的服务数据流向图:Clinet提交任务,并发送任务输入数据给SSM,SSM将数据分发给集群中的SIM,SIM再将数据传给客户开发的服务。该服务的实例,会将数据用于计算,并将计算结果回传给SIM,SIM再传给SSM,最终回传到Client进程。Symphony中应用相关的概念:Application Profile:用于定义该应用的相关属性,以及容错行为等。Session:Cliente提交的一次任务,称为Session.每个Session有一个全局唯一的ID.Task:每个Session中会有多个Task,Task为最小的任务调度单元。每个Task也会有一个Id标识,该Id只在一个session中唯一。每个Task都会有input消息和output消息,分别用于传送计算输入和计算输出。Symphony中服务包的服务:一般使用Symphony中自带的RS服务进行服务包的管理。用户可以通过Symphony提供的CLI命令或者WEB服务部署(上传)服务包给Symphony的RS服务,Symphony会在运行客户服务实例的时候,自动从RS服务中下载相关的服务包。EGO层相关模块:EGO层将节点分为两类,Management Hosts和Compute Hosts。其中Management有Master和Candidate Master;EGO会抽象一个Resource Distribution Plan用于定制各个Consumer之间以及Resource Group之间的资源分配策略。EGO层中的Resource:1Slot:EGO会将计算资源抽象化,并以Slot为单位计算资源的数量。默认情况下,EGO层为一维资源调度,一般也只抽象CPU为计算资源,并且1 CPU core为1 Slot。用于可以在Symphony WEB服务中定制更改资源抽象对象和配比。2Resource Group:安装的时候,EGO会为将集群创建了若干个Resource Group,与用户服务相关主要为Management Hosts和Compute Hosts。用户也可以自行创建Resource Group,来区分隔离不同的资源。EGO层中资源的分配模型:EGO会通过定义Resource Plan来定制化资源的分配模型。主要涉及三种模型分别是:Siloed mode、Directed share model、Utility modelSymphony进程的启动和容错恢复:SD(Session Director)SSM(Session Manager)SIM(Service Instance Manager)1Compute和Master节点的根进程都是由lim启动;2在Master节点,lim负责看管pem和vemkd进程。vemkd为EGO层资源调度和管理的主进程。3vemkd会看管egosc进程,egosc负责维护和看管向其注册的EGO Service进程;4SOAM中的SD,RS以及WEB服务都是在egosc中注册的服务进程。也就是说这些进程的容错恢复要靠egosc维护。5SD负责启动和看管SSM进程。SSM负责看管和启动SIM进程(SSM需要申请slot来启动SIM)。6SIM负责看管用户的服务进程SI。Symphony Feature—Standby:在分布式的Symphony运行环境中,用户需要开发自己的Service程序,Symphony会动态的启动该Service程序;Symphony动态的发送执行任务到Service的程序;Service程序默认情况下会在运行完整个任务之后退出OS;如果系统中运行的是短任务短Task, 那么必然造成Service程序的不断重启;如果一个Service的程序启动消耗较多的时间(例如一个庞大的Java守护进程),那么势必造成系统的性能的下降;Standby Feature的原理就是让用户的Service程序在执行完任务之后,继续驻留系统;Symphony的用户可以配置Standby的个数;用户可以通过更改该应用配置关闭或开启这个功能;驻留在系统的Service并不占用虚拟化的Slot;类似的Feature还有Pre-start\Linger Symphony Feature—Recuersive Workload:理想的并行计算中,计算要并行化,数据和任务都不能有依赖, Recursive Workload也是1种类,DAG的支持:在这个功能中,支持客户将Service转化为Client继续提交下一次的任务,并可以重复利用上一次任务的计算资源。2Resource Group Preference Level:一个大的集群中往往配置了多个Resource Group;每个应用程序会配置从多个RG中获取资源;Rg之间区别比较大,例如一个Rg中的机器内存多,另一个RG则CPU好,内存小,磁盘却大;如果多个应用无差异的从多个Rg获取资源,会造成定的资源浪费,例如将Spark的应用跑在内存小的,而将MapReduce却跑在内存大的;RG Preference Level定义了每种应用对每个RG的优先级,反之每个Rg定义了对每个应用的优先级也成立的。资源调度器会根据该配置分配资源给对应的应用第四章 统计与分析软件与大数据处理软件的集成 可视化分析大数据分析的使用者有大数据分析专家,同时还有普通用户,但是他们二者对于大数据分析最基本的要求就是可视化分析,因为可视化分析能够直观的呈现大数据特点,同时能够非常容易被读者所接受,就如同看图说话一样简单明了。数据挖掘算法大数据分析的理论核心就是数据挖掘算法,各种数据挖掘的算法基于不同的数据类型和格式才能更加科学的呈现出数据本身具备的特点,也正是因为这些被全世界统计学家所公认的各种统计方法(可以称之为真理)才能深入数据内部,挖掘出公认的价值。另外一个方面也是因为有这些数据挖掘的算法才能更快速的处理大数据,如果一个算法得花上好几年才能得出结论,那大数据的价值也就无从说起了。3、预测性分析能力大数据分析最终要的应用领域之一就是预测性分析,从大数据中挖掘出特点,通过科学的建立模型,之后便可以通过模型带入新的数据,从而预测未来的数据。语义引擎大数据分析广泛应用于网络数据挖掘,可从用户的搜索关键词、标签关键词、或其他输入语义,分析,判断用户需求,从而实现更好的用户体验和广告匹配 数据质量和数据管理大数据分析离不开数据质量和数据管理,高质量的数据和有效的数据管理,无论是在学术研究还是在商业应用领域,都能够保证分析结果的真实和有价值。大数据分析的基础就是以上五个方面,当然更加深入大数据分析的话,还有很多很多更加有特点的、更加深入的、更加专业的大数据分析方法。第二节 统计分析软件于大数据处理软件的集成AS可以解决的问题1)数据中心化的架构,可以充分使用现有的大数据系统的优势,比如 Hadoop,MapReduce或者HDFS 2)自定义接口,可以动态的兼容为大数据而创建的新的算法3)用户只用专注于数据本身的业务处理,不用花费代价去了解掌握大数据的处理引擎4)高度的扩展性,适用于不同规模数据量的统计分析业务IBM SPSS Analytic Server–大数据分析利器—技术特点:各种数据分析平: Hadoop Spark,M3R等;R集成 关系型数据库,数据仓库,NoSQL支持;SQL Pushback支持 半结构化数据支持;支持用户自扩展(Analytic Framework);支持胖客户端和客户端—配合 Modeler,将现有应用扩展到大数据 无缝整合Modeler现有功能和AS新模型和分析工具;多数据源支持,HDFS,数据库,各类文件,XML等等;HDFS本地计算,其他数据在线移 —配合Watson Analytic,让更多的人从数据中提取价值—配合 Statistics,扩展现有应用和算法—直接集成业务系统,适合开发能力强的客户 简单易用但强大的ASL IBM SPSS Modeler数据加工与处理功能 可以读取多种数据源、可以对数据进行复杂多样的处理,在特定业务场景下,这些处理结果本身就是数据分析目的、数据处理结果可以选择直接展现,也可以保存到指定的数据存储格式中 传统的网络编程消息传送接口(MPI)、高效率,高性能、很难扩展;如何在多个节点之间处理各种问题?(商业化的数据中心已经很少使用了)网络数据的木地化、错误处理的机制、效率低下节点的处理、网络性能、每个节点都需要程序化实现 5、数据流模型编程接口精简,自动化实现、使用高级操作符来封装Job、如何分发每一个操作到任务中,那里去运行这个任务、灾难恢复,错误处理6、Analytic Server and Spark—Analytic Framework(AF)从运行时环境的细节中抽象算法;AS适用于各种不同的执行环境;计划把Af适配到Spark —Transformation Pushdown能够推送数据转换到DB中运行;能够推送转换到Spark;Spark MLlib;计划开放MLlib算法如果运行在Spark上—RDD-Use Spark RDD`s for in-memory cache to accelerate SPSS iterative algorithms7、分析API这个API的主要目的是让用户执行分析,转换作业或者接收作业结果,执行的语法是ASL8、数据源API这个API的主要功能是提供了数据源管理9、文件系统API对AS内部的文件系统进行管理的API10、运行时监控(comet) Ae通过Comet来监控执行的过程:Comet是一个Web应用模型,通过http的长连接请求来给浏览器推送状态结果,而不需要浏览器每次主动的发起请求,用户可以通过手动的请求来查询状态,或者通过Comet自动的获取,当作业结束或者有任何的结果反馈的时候,Comet就能自动触发一次发送11、Java接口客户端能够通过Rest API成者系列Java接口与As交互12、数据库数据源AS能够从RDMBMS里面获取数据源,然后可以在这种大数据的环境下执行一个作业,As也能把运算结果返回给RDBMS13、结构As管理员能够通过配置JDBC驱动连接到数据库,数据源也可以直接指定数据库的某个表,数据源的属性可以用来保存数据连接的信息14、Hcatalog数据源AS能够与apache Hcatalog集成使用来访问保存在Hive,HBase等中的数据,As也能访问NoSQL的数据,比如mongoDB ASL(Analytic Stream Language)ASL是SPSS AS开发的领域语言,使用它来描述大数据分析的执行过程,包括建模,打分,数据变换等。ASL隐藏了用户随用的复杂性:分布式计算,数据的就近计算,算法。16、部署模型As主要有如下的部署模式:服务器—As作为http服务的应用;分布式—在一个分布式环境远程执行第三节SPSS、Spark、HDFS集成实例与优势 一个简单的分析项目包含:业务分析、IT、业务应用、数据分析与统计学家.支持数据挖掘方法-CRISP-DM(cross-industry standard process for data mining),即“跨行业数据挖掘标准流程”:1.商业理解:在此阶段最重要的就是要界定好需要解决的商业问题,同时要对项目的开始实施做好充分的评估。1)确定商业目标(背景、商业目标、商业成功标准)2)形势评估;3)确定数据挖掘目标;4)制定项目实施计划。2.数据理解:在此阶段我们需要对企业可用的数据资源进行全面认识,并基于项目目标,开展数据探索工作,并形成相关报告。1)数据的收集原始数据;2)数据描述;3)数据探索性分析;4)数据质量描述。3.数据准备:从原始数据中形成作为建模对象分析的最终数据集。1)选择数据;2)数据清洗;3)数据构建;4)整合数据;5)数据格式化重整数据。4.建立模型:选择建模技术;生成检验设计;建立模型;评估模型。5.模型评估:评估结果(从商业成功标准角度进行数据挖掘结果评估);过程回顾;确定下一步的步骤。6.结果部署:规划部署方案;规划监控和维护方案;生成最终的报告;项目回顾。3、数据挖掘方法:分类、估计、预测、关联规则、聚类、描述与可视化(11点开始顺时针)4、Analytic Server运行Hadoop作业Analytic Server在安装配置时,必须同分布式系统关联,例如Hadoop;Analytic Server会分布核心算法库以保证所有集群节点可访问,核心算法库是根据Hadoop的MapReduce分布式计算框架开发和优化的。Analytic Server接收处理作业,会编译分析整个作业流,根据数据类型和规模选择合适的运行环境,在Hadoop运行环境下,将作业流进行分割,提交Hadoop作业到集群中,各集群节点运行SPSS核心算法库执行具体任务(sort,join,PSM,TSP等)5、Analytic Server+ Spark Integration分析服务器与Apache Spark集成以提高性能。何时使用和不使用Spark如果在Hadoop集群中将Spark作为Ambari服务进行安装,那么分析服务器使用它来处理大数据作业。以下准则适用于确定何时不使用Spark.1.如果数据集小于128MB.那么分析服务器在分析服务器JVM中使用联入式MapReduce函数井且不使用Spark或Hadoop集群。2.如果未在集群上安装Spark,那么分析服务器使用MapReduce v2.3.分析服务器使用MapReduce v2来构建PSM模型。作业以PSM模型构建结束时,分析服务器使用Spark通过导致模型构建的所有步骤来处理作业,并写入碰盘,然后使用MapReduce来构建PSM模型。例如,如果作业包含后面跟着PSM模型构建的连接,那么在Spark中运行连接并在MapReduce中的连接数据上运行PSM.如何使用Spark分析服务器服务启动并发现Spark可用后,它将对“Spark Hadoop作业“进行初始化,该作业允许在集群中的分布式任务之间进行通信。只要分析服务器服务运行,此作业都会运行,并用于所有分析服务器执行。此方法可提高与编排 多个MapReduce Hadoop作业有关的性能,因为它将除去重新装入每个Hadoop作业的所有分析服务器组件所产生的开销,Spark可运行MapReduce作业。这将使分析服务器尽可能使用“本机”Spark算法,如连接、排序和并集。同时,分析服务器可运行Spark中的现有SPSS Map and Reduce算法,而不直接使用Hadoop API.6、启用SparkApache Spark是针对灵活内存中数据处理以用以批量、实时和高级分析的开放式标准。要在成功安装MapR之后启用Apache Spark支持;7、Analytic Server+Spark Analytic Server接受处理作业,会编译分析整个作业流;根据数据类型和规模选择合适的运行环境;在Spark运行环境下,将作业流转化为RDD->transformation->action模式;通过Spark Context提交Spark作业到集群中,在集群节点的各个Spark Executor中运行SPSS核心算法库执行具体任务(sort,join,GSAR TSP等)。8、SPSS AS安装简介SPSS AS 2.1的安装是通过Ambari平台配置,Ambari跟Hadoop等开源软件一样,也是Apache Software Foundation中的一个项目,并且是顶级项目,就Ambari的作用来说,就是创建、管理、监视Hadoop的集群,但是这里的Hadoop是广义,指的是Hadoop整个生态图(例如Hive, HBase, Sqoop, Zookeeper 等) .而并不仅是特指Hadoop,用一句话来说,Ambari 就是为了让Hadoop以及相关的大数据软件更容易使用的一个工具。AS安装1.SPSS AS 2.1的安装文件准备:将IBM-SPSS-AnalyticServer-2.1.0.0-;1.x86_64.rpm 和IBM-SPSS-AnalyticServer-ambari-2.1-BI-4.1-2.1.0.0-;1.x86_64.rpm 放到以下路径 /home/root/repos/IBM-SPSS-AnalyticServer/x86_64;2.创建本地存储库定义,例如在/etc/yum.repos.d 中创建名为analyticserver.repo(对于RHEL,CentOS)或者创建包含以下内容的/etc/zypp/repos.d/(对于SLES)。3、创建本地Yum存储库createrepo/home/root/repos/IBM-SPSS-AnalyticServer/x86_644、安装本地存储库中的Ambari元数据RPM,这是具有格式IBM-SPSS-AnalyticServer-ambarixxx.rpm的文件,在Redhat中执行,sudo vuminstall IBM-SPSS-AnalytivServer-ambari-2.1-BI-4.1;5.找到/var/lib/ambari-server/resources/stacks/BigInsight/4.1/repos/中的repoinfo.xml文件,添加以下内容: filr://home/root/repos/IBM-SPSS-AnalyticServer/x86_64IBM-SPSS-AnalyticServerIBM-SPSSAnalyticServer-2.1.0.0 6.重启ambari服务链接http://HostName:8080 8.进入Ambart UI界面添加服务:在左下角Action–> Add Services9.选SPSS Analytics Server, 设置AS用户名密码admin/admin10.成功安装后,正常启动,可看到SPSS Analytic Servera在左边的服务项目中11.验证AS是否成功安装的链接http://HostName:9080/analyticserver/admin/ibm12.选择Data Sources,可以选择的数据类型包括以下几种:选择File.在Mode中选择File System,可看到HDFS上相应的文件夹及文件,直接选择需要的文件,箭头转到右边对话框后,保存。

展开阅读全文

没有更多推荐了,返回首页