收藏 分销(赏)

大数据分析之工具应用完整PPT.pptx

上传人:二*** 文档编号:5457507 上传时间:2024-11-06 格式:PPTX 页数:31 大小:879.83KB 下载积分:5 金币
下载 相关 举报
大数据分析之工具应用完整PPT.pptx_第1页
第1页 / 共31页
本文档共31页,全文阅读请下载到手机保存,查看更方便
资源描述
大数据分析之工具应用什么是大数据银行互联网图书馆海量交易数据:企业内部的经营交易信息主要包括联机交易数据和联机分析数据,是结构化的、通过关系数据库迕行管理和访问的静态、历史数据。通过这些数据,我们能了解过去发生了什么。海量交互数据:源于Facebook、Twitter、LinkedIn及其他来源的社交媒体数据构成。它包括了呼叫详细记录CDR、设备和传感器信息、GPS和地理定位映射数据、通过管理文件传输Manage File Transfer协议传送的海量图像文件、Web文本呾点击流数据、科孥信息、电子邮件等等。可以告诉我们未来会収生什么。海量归档数据:图书馆内部存储的大量的图书目录信息主要包括了图书数量信息和图书流动信息等等,包含了图书馆的所有重要信息。什么是大数据大数据类型与存储大数据类型非结构化数据结构化数据实时数据GIS数据大数据存储分布式文件系统关系型数据库集群分布式数据库GIS数据库集群存储、管理、访问 可平滑扩展 可冗余备份,保证高可靠性 快速访问分发机制支持大量访问请求 数据访问优化策略数据处理流程 采集预处理检索分析展现共享存储大数据处理的技术关键分析技术:数据处理:自然语言处理技术;统计和分析:地域占比,文本情感分析,A/B test,top N排行榜;数据挖掘:建模,聚类,分类,排名;模型预测:预测模型,机器学习,建模仿真。存储技术:结构化数据:海量数据查询、统计、更新等操作效率低非结构化数据:图片、视频、word、pdf、ppt等文件存储,不利于检索,存储和查询半结构化数据:转换为结构化数据或者按照非结构化存储。大数据技术:数据采集:ETL工具;数据存取:关系数据库,NoSQL,NewSQL,等基础架构支持:云存储,分布式文件系统等;计算结果展现:云计算,标签云,关系图等。解决方案:Hadoop(MapReduce技术)、MongoDB、流计算(twitter的strom和yahoo!的S4)Hadoop项目介绍Hadoop最先是由Apache公司在2005年引入的,起源于google开发的MapReduce和Google File System(GFS)项目。Google云计算MapReduceBigTableGFSChubbyGFSHDFSBigTable HbaseMapReduce Hadoop分布式文件系统HDFS什么是分布式文件系统?分布式文件系统是指文件系统管理的物理存储资源不一定直接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统设计基于客户机/服务器模式,一个典型的网络可能包括多个供用户访问的服务器。用户可以在任意一台客户机上访问其他机器的文件系统。为什么需要分布式文件系统?高扩展能力:HDFS采用元数据中心化管理,然后通过客户端暂存数据分布减小元数据的访问压力;高可用性:一是整个文件系统的可用性,二是数据的完整和一致性。数据完整性通过文件的镜像和文件自动修复来解决;弹性存储:可以根据业务需要灵活地增加或缩减数据存储以及增删存储池中的资源,而不需要中断系统运行;分布式文件系统HDFSHDFS的设计HDFS为了做到可靠性(reliability)创建了多份数据数据块(datablocks)的复制复制(replicas),并将它们放置在服务器群的计算节点中(compute nodes)。元数据保存在NameNode的内存当中,以便快速查询HRegion:Region按大小分隔,达到阈值,HRegion自动等分,后台会一直进行split和sort操作,以达到region的等分。传统文件系统基于存储块进行操作3、稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。分布式数据库HBase4.自动尽快通NameNode坏掉的磁盘上的数据。通过这些数据,我们能了解过去发生了什么。心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。mapper可能把一个输入map为0个,1个或100个输出RegionServer:1.可以告诉我们未来会収生什么。分布式文件系统HDFSHDFS应用场景 超大文件 流式数据访问 一次写入,多次读取 传输时间与寻址时间 商用硬件 适量的文件数 为把“计算”移动到“数据”提供基础和便利适用 低延时的数据访问 大量小文件 多用户写入,任意修改文件不适用分布式文件系统HDFS块(BLOCK)的概念 在传统的块存储介质中,块是读写的最小数据单位(扇区)传统文件系统基于存储块进行操作 为了节省文件分配表空间,会对物理存储块进行整合,一般大小为4096字节 HDFS也使用了块的概念,但是默认大小设为64M字节 可针对每个文件配置,由客户端指定 每个块有一个自己的全局ID HDFS将一个文件分为一个或数个块来存储 每个块是一个独立的存储单位 以块为单位在集群服务器上分配存储使用块的好处 当一个文件大于集群中任意一个磁盘的时候,文件系统可以充分利用集群中所有的磁盘 管理块使底层的存储子系统相对简单 块更加适合备份,从而为容错和高可用性的实现带来方便块的冗余备份 每个块在集群上会存储多份(replica)默认复制份数为3 可针对每个文件配置,由客户端指定 可动态修改 某个块的所有备份都是同一个ID 系统无需记录“哪些块其实是同一份数据”系统可以根据机架的配置自动分配备份位置 两份在一个机架的两台机器上 另一份在集群的另一个机架的某台机器上 此策略是性能与冗余性的平衡 机架信息需要手工配置Sequence File的Key是HLogKey对象,HLogKey中记录了写入数据的归属信息,除了table和region名字外,同时还包括sequence number和timestamp,timetamp是“写入时间”,sequence number的起始值为0,或者是最近一次存入文件系统中sequence number。主要方法是将失败的任务进行再次执行,TaskTracker会把状态信息汇报给JobTracker,最终由JobTracker决定重新执行哪一个任务。可动态修改实时监控RegionServer的状态,将Regionserver的上线和下线信息实时通知给Master;一个数据块在DataNode以文件存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。HDFS对元数据和实际数据采取分别存储的方法jobtracker和tasktracker:数据处理:自然语言处理技术;系统无需记录“哪些块其实是同一份数据”数据存取:关系数据库,NoSQL,NewSQL,等Hadoop上的MapReduce所有数据进来先在memstor进行缓冲,达到一定的阀值就刷新一次形成一个storefile。可以告诉我们未来会収生什么。分布式数据库HBaseHadoop最先是由Apache公司在2005年引入的,起源于google开发的MapReduce和Google File System(GFS)项目。1、大表:一个表可以有上亿行,上百万列Hadoop(MapReduce技术)、MongoDB、流计算(twitter的strom和yahoo!的S4)文件和目录的大小,创建及最后访问时间分布式文件系统HDFSHDFS的元数据元数据包括文件系统目录树信息文件名,目录名文件和目录的从属关系文件和目录的大小,创建及最后访问时间权限文件和块的对应关系文件由哪些块组成块的存放位置机器名,块ID HDFS对元数据和实际数据采取分别存储的方法元数据存储在指定的服务器上(NameNode)实际数据储存在集群的其他机器的本地文件系统中(DataNode)分布式文件系统HDFSHDFS的高可用性Client1Client2DataNode节点NameNode1NameNode2NFS服务器正常运行状态单点失效状态分布式文件系统HDFSHDFS的高可用性NameNode挂了怎么办?系统采用双NameNode节点分布管理设计方案,支持分布式的元数据服务器,支持元数据自动日志功能,实现用户数据和元数据的备份和自动恢复,当一台服务器发生宕机时,其管理功能可以有另外的服务器接管,系统可以正常运行,对外提供服务。NameNodeNameNode是用来管理文件系统命名空间的组件 一个HDFS集群只有一台active的NameNode一个HDFS集群只有一个命名空间,一个根目录NameNode上存放了HDFS的元数据元数据保存在NameNode的内存当中,以便快速查询1G内存大致可以存放1,000,000个块对应的元数据信息按缺省每块64M计算,大致对应64T实际数据分布式文件系统HDFSHDFS的高可用性Datanode 一个数据块在DataNode以文件存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode 的心跳,则认为该节点不可用。集群运行中可以安全加入和退出一些机器。DataNode中的磁盘挂了怎么办?DataNode正常服务;自动尽快通NameNode坏掉的磁盘上的数据。DataNode所在机器挂了怎么办?datanode每3秒钟向namenode发送心跳,如果10分钟datanode没有向namenode发送心跳,则namenode认为该datanode已经dead,namenode将取出该datanode上对应的block,对其进行复制。增加DataNode节点后?系统平台增加新节点之后,系统自动在所有节点之间均衡数据。系统后台根据忙闲程度,自动发起,占用很少系统资源,无需人工干预,实现数据均衡分布。分布式数据库HBaseHBase概述HBase是一个分布式的、面向列的开源数据库,该技术来源于Changetal所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。HBase技术特点1、大表:一个表可以有上亿行,上百万列2、面向列:面向列(族)的存储和权限控制,列(族)独立检索。3、稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。分布式数据库HBaseHBase表存储结构示例 Row Key:行键,表的主键,表中的记录按照Row Key字典排序;Timestamp:时间戳,每次数据操作对应的时间记录,可以看做是数据的版本号;Column Family:列簇,表 在水平方向有一个或者多个Column Family组成,一个Column Family可以由多个Column 组成,即Column Family支持动态扩展,无需预先定义Column 的数量及类型,所有Column 均以二进制格式存储,用户需要自行进行型转换。分布式数据库HBaseHbase物理部署Hbase逻辑架构分布式数据库HBaseClient:包含访问hbase的接口,client维护着一些cache来加快对hbase的访问,比如region的位置信息。Zookeeper:1.保证任何时候,集群中只有一个master;2.存贮所有Region的寻址入口;3.实时监控RegionServer的状态,将Regionserver的上线和下线信息实时通知给Master;4.存储Hbase的schema,包括有哪些table,每个table有哪些column family。Master:1.为Regionserver分配region;2.负责regionserver的负载均衡;3.发现失效的regionserver并重新分配其上的region;4.HDFS上的垃圾文件回收;5.处理schema更新请求。RegionServer:1.Regionserver维护Master分配给它的region,处理对这些region的IO 请求;2.Regionserver负责切分在运行过程中变得过大的region。Hbase物理部署分布式数据库HBaseHbase物理存储HTable:在行方向上分为多个HRegion。当表随着记录的不断增加而变大后,会逐渐分裂成多份splits,称为region,一个region由startkey,endkey表示,不同的region会被Master分配给相应的RegionServer进行管理。HRegion:Region按大小分隔,达到阈值,HRegion自动等分,后台会一直进行split和sort操作,以达到region的等分。HTableHRegion分割分布式数据库HBaseHRegion分布Hbase物理存储Region是分布式存储的最小单元分布式数据库HBaseHbase物理存储storefile就是列簇,一个列簇整合成一个storefile文件。所有数据进来先在memstor进行缓冲,达到一定的阀值就刷新一次形成一个storefile。分布式数据库HBaseHFile:Hbase中Key Value数据存储格式,是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile。分布式数据库HBaseHLogFile:HBase中WAL(Write Ahead Log)的存储格式,物理上是Hadoop的Sequence File。WAL类似mysql中的binlog,用来 做灾难恢复作用,HLog记录数据的所有变更,一旦数据修改,就可以从log中进行恢复。每 个Region Server维护一个Hlog,而不是每个Region一个。这样不同region(来自不同table)的日志会混在一起,这样做的目的是不断追加单个 文件相对于同时写多个文件而言,可以减少磁盘寻址次数,因此可以提高对table的写性能。带来的麻烦是,如果一台regionserver下线,为了恢复其上的region,需要将regionserver上的log进行拆分,然后分发到其它regionserver上进行恢复。Sequence File的Key是HLogKey对象,HLogKey中记录了写入数据的归属信息,除了table和region名字外,同时还包括sequence number和timestamp,timetamp是“写入时间”,sequence number的起始值为0,或者是最近一次存入文件系统中sequence number。HLog Sequece File的Value是HBase的KeyValue对象,即对应HFile中的KeyValue。分布式计算MapReduce大数据处理计算问题简单,但求解困难u待处理的数据量巨大,只有分布在成百上千个节点上并行计算才能在可接受的时间内完成u如何进行并行分布式计算?u如何分发待处理数据?u如何处理分布式计算中的错误?MapReduce特性自动实现分布式并行计算容错提供状态监控工具模型抽象简洁,程序员易用分布式计算MapReduceHadoop上的MapReduce job:是客户端程序想要完成的一系列工作的集合。包括输入数据,MapReduce程序和配置信息。用户只要在客户端提交工作,MapReduce会自动分配任务给集群中的计算节点。task:Hadoop将job分解为tasks有两种类型的task:map task和reduce task。jobtracker和tasktracker:用来控制job执行的;tasktracker运行task,并向jobtracker报告进度信息;jobtracker记录下每一个job的进度信息,如果一个task失败,jobtracker会将其重新调度到另外的tasktracker上。MapReduce特性分布式计算MapReduceMapReduce实现用户只需要实现两个函数接口:map(in_key,in_value)-(out_key,intermediate_value list)reduce(out_key,intermediate_value list)-out_value list输入的key和value的类型和输出的类型可以是不同的mapping和reducing函数接收数值(键,值)对mapper可能把一个输入map为0个,1个或100个输出reducer可能计算超过一个的输入列表并生成一个或多个不同的输出分布式计算MapReduceMapReduce运行示意图分布式计算MapReduceMapReduce并行化示意图分布式计算MapReduceMapReduce集群自检Worker故障Master 周期性的ping每个worker。如果master在一个确定的时间段内没有收到worker返回的信息,那么它将把这个worker标记成失效重新执行该节点上已经执行或尚未执行的Map任务重新执行该节点上未完成的Reduce任务,已完成的不再执行Master故障定期写入检查点数据从检查点恢复MapReduce容错由Hadoop系统自己解决:主要方法是将失败的任务进行再次执行,TaskTracker会把状态信息汇报给JobTracker,最终由JobTracker决定重新执行哪一个任务。为了加快执行的速度,Hadoop也会自动重复执行同一个任务,以最先执行成功的为准。感谢观看感谢观看
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服