资源描述
1.大数据技术介绍2.Hadoop(HDFS,MapReduce)介绍3.Hadoop的最新发展4.流计算技术5.内存数据库6.列式数据库7.各技术适用的场合8.讨论YOURSITEHERE目录什么是大数据?YOURSITEHERE大数据大数据 指的是海量无法通过传统方式管理的数据。指的是海量无法通过传统方式管理的数据。Big Data作为一个专有名词成为热点,主要应归功于作为一个专有名词成为热点,主要应归功于近年来互联网、云计算、移动和物联网的迅猛发展。无所不近年来互联网、云计算、移动和物联网的迅猛发展。无所不在的移动设备、在的移动设备、RFID、无线传感器每分每秒都在产生数据,、无线传感器每分每秒都在产生数据,数以亿计用户的互联网服务时时刻刻在产生巨量的交互数以亿计用户的互联网服务时时刻刻在产生巨量的交互要处理的数据量实在是太大、增长太快了,而业务需求和竞要处理的数据量实在是太大、增长太快了,而业务需求和竞争压力对数据处理的实时性、有效性又提出了更高要求,传争压力对数据处理的实时性、有效性又提出了更高要求,传统的常规技术手段根本无法应付。统的常规技术手段根本无法应付。YOURSITEHERE大数据的4V特性体量Volume多样性Variety价值密度Value速度Velocity非结构化数据的超大规模和增长总数据量的8090%比结构化数据增长快10倍到50倍是传统数据仓库的10倍到50倍大数据的异构和多样性很多不同形式(文本、图像、视频、机器数据)无模式或者模式不明显不连贯的语法或句义大量的不相关信息对未来趋势与模式的可预测分析深度复杂分析(机器学习、人工智能Vs传统商务智能(咨询、报告等)实时分析而非批量式分析数据输入、处理与丢弃立竿见影而非事后见效分布式缓存、基于MPP的分布式数据库、分布式文件系统、各种NoSQL分布式存储方案,内存数据库等。YOURSITEHERE大数据技术存储处理应用Map Reduce,流计算流计算HIVE,pig,R,mahout等查询统计,数据等查询统计,数据挖掘技术挖掘技术采用了一批新技术,主要包括分布式缓存、基于MPP的分布式数据库、分布式文件系统、各种NoSQL分布式存储方案等。YOURSITEHEREv大数据的存储YOURSITEHERE分布式数据库与传统数据库对比YOURSITEHERE大规模并行处理MPP(Massively Parallel Processing)YOURSITEHERE硬件YOURSITEHERE一些领先的存储厂商都在建立专门针对Hadoop和大数据分析的存储设备。这些供应商包括EMC,目前提供Hadoop解决方案,例如GreenplumHDDataComputingAppliance。甲骨文正在考虑进一步深化Exadata系列设备,提供计算能力以及高速存储。最后一个存储选择是云形式的存储,Cloudera、微软、Amazon和很多其他供应商都在提供基于云的大数据解决方案,这些解决方案能够提供处理能力、存储和支持。横向可扩展存储开放性那么,我们又需要多少的硬件呢?估计Hadoop所需的硬件有点不一样,这取决于你是在问哪家厂商。Cloudera的清单详细地列出了Hadoop的典型从属节点应该有怎样的硬件配置:中档处理器4GB至32 GB内存每个节点连接至千兆以太网,并配备一只万兆以太网架顶式交换机专用的交换基础设施,以避免Hadoop拥塞网络每个机器4至12个驱动器,非RAID配置方式YOURSITEHERE所需的硬件和成本YOURSITEHEREHadoop方案方案(例:例:intel)YOURSITEHEREYOURSITEHEREYOURSITEHEREHP Vertica 的数据仓库系统解决方案基于列存储和MPP等先进技术平均性能提高50 x-1000 x倍高可扩展性(TBsPBs)节省高至90%的存储空间快速集成ETL/BI解决方案高性能运行于电信级硬件快速和灵活部署YOURSITEHERECloudera CDH4一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。YOURSITEHEREHadoopYOURSITEHEREHadoopHadoopHadoop相关子项目相关子项目相关子项目子项目作用ZooKeeper为分布式提供高一致为分布式提供高一致Avro序列化,提高分布式传输效率序列化,提高分布式传输效率HBase分布式数据库分布式数据库Hive提供类似提供类似oracle的数据添加,查询,修改,的数据添加,查询,修改,删除方法。删除方法。Mahout提供一些可扩展的机器学习领域经典算法的实提供一些可扩展的机器学习领域经典算法的实现现Pig一种用于探索大型数据集的脚本语言一种用于探索大型数据集的脚本语言1.大数据技术介绍2.Hadoop(HDFS,MapReduce)介绍3.Hadoop的最新发展4.流计算技术5.内存数据库6.列式数据库7.各技术适用的场合8.讨论YOURSITEHERE目 录YOURSITEHEREHadoopHadoopHadoop简介简介简介lHadoop 一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。l Hadoop是项目的总称,主要是由分布式存储(HDFS)、分布式计算(MapReduce)组成。l Hadoop程序目前只能运行在Linux系统上,window上运行需要安装其他插件,安装过程见hadoop安装说明.docx。YOURSITEHEREHadoopHadoopHadoop优点优点优点可扩展:不论是存储的可扩展还是计算的可扩展都是Hadoop的设计根本。经济:框架可以运行在任何普通的PC上。可靠:分布式文件系统的备份恢复机制以及MapReduce的任务监控保证了分布式处理的可靠性。(元数据磁盘错误,心跳测试,副本数,快照(目前还没实现)高效:分布式文件系统的高效数据交互实现以及MapReduce结合Local Data处理的模式,为高效处理海量的信息作了基础准备。YOURSITEHEREHadoop生态系统YOURSITEHEREHDFSHDFSHDFS适应条件适应条件适应条件l超大文件 指的是几百MB,几百GB,几百TB,甚至几百PBl流式数据访问 HDFS建立的思想是:一次写入、多次读取模式是最高 效的。l商用硬件 hadoop不需要运行在昂贵并且高可靠的硬件上。HDFS:为以流式数据访问模式存储超大文件而设计的文件系统。YOURSITEHEREHDFSHDFSHDFS不适应条件不适应条件不适应条件l低延迟数据访问 HDFS是为了达到高数据吞吐量而优化的,这是以延迟为代价的,对于低延迟访问,可以用Hbase(hadoop的子项目)。l大量的小文件l多用户写入,任意修改YOURSITEHEREHdfsHdfsHdfs集群框架图集群框架图集群框架图YOURSITEHERElNameNode记录着每个文件的元数据。每个文件在那个块中,每个数据节点包含哪些块。(不储存原始文件)lDataNode是文件的工作者,它们存储文件并提供定位块的服务,并且定时向名称节点发送它们的存储块的列表。(储存原始文件)l重要参数 dfs.replication.min参数。最小为1,表示每个块在HDFS中的副本个数。Hdfs集群框架集群框架YOURSITEHEREHdfs集群框架文件写入:lClient向NameNode发起文件写入的请求。l NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。l Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。文件读取:l Client向NameNode发起文件读取的请求。l NameNode返回文件存储的DataNode的信息。l Client读取文件信息。YOURSITEHEREHdfsHdfsHdfs文件写入图文件写入图文件写入图YOURSITEHEREHdfsHdfsHdfs文件读取图文件读取图文件读取图YOURSITEHEREHDFSHDFSHDFS的几个设计特点的几个设计特点的几个设计特点Block的放置:默认不配置。一个Block会有三份备份,一份放在NameNode指定的DataNode,另一份放在与指定DataNode非同一Rack上的DataNode,最后一份放在与指定DataNode同一Rack上的DataNode上。备份无非就是为了数据安全,考虑同一Rack的失败情况以及不同Rack之间数据拷贝性能问题就采用这种配置方式。心跳检测DataNode的健康状况,如果发现问题就采取数据备份的方式来保证数据的安全性。数据复制(场景为DataNode失败、需要平衡DataNode的存储利用率和需要平衡DataNode数据交互压力等情况):这里先说一下,使用HDFS的balancer命令,可以配置一个Threshold来平衡每一个DataNode磁盘利用率。例如设置了Threshold为10%,那么执行balancer命令的时候,首先统计所有DataNode的磁盘利用率的均值,然后判断如果某一个DataNode的磁盘利用率超过这个均值Threshold以上,那么将会把这个DataNode的block转移到磁盘利用率低的DataNode,这对于新节点的加入来说十分有用。YOURSITEHEREI/OI/OI/O操作操作操作Writable接口序列化:指的是将结构化对象转换为字节流以便网络进行传输 或者写入存储的过程。反序列化:指的是将字节流转为一系列结构化对象的过程。(java定义的序列化和反序列化工具不够紧凑,高效)在hadoop中,常规JAVA数据类型是不能表示Hdfs的数据类型的,例如hdfs中的字符串不是string类表示,而是Text类,这些 数据类型都必须实现一个writable接口。Writable是Hadoop的核心(MapReduce程序使用他来序列化 键/值对):void write(DataOutput out)throws IOException;void readFields(DataInput in)throws IOException;分别实现对数据的序列化和反序列化。YOURSITEHEREWritableWritableWritable接口的子类接口的子类接口的子类 YOURSITEHEREWritableWritableWritable接口的子类接口的子类接口的子类 1.对Java中的int型进行封装那么就是hadoop中的IntWritable类在写程序时可以把IntWritable可以看着是int 类型,它实现了WritableComparable接口。WritableComparable又是 Writable、parable接口的子接口。2.Writable类对所有的Java基本类型进行封装:如:boolean -BooleanWritable ;Byte-ByteWritable3.我们可以自已实现Writable接口,编写更复杂的结构的类。核心:hadoop有自己一套的I/O机制。I/O类都必须实现Writable接口。Map/Reduce是一个编程模型(programming model),是一个用于处理和生成大规模数据集(processing and generating large da
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索