第一章 遇见HADOOP 第五节 写其它系统比较(hadoop:the definitive guide)

本文对比了Hadoop与关系型数据库管理系统(RDBMS)、高性能计算(HPC)、网格计算和志愿计算等不同数据处理系统的特点。重点介绍了Hadoop如何通过MapReduce处理大数据集,并讨论了其数据本地化和故障恢复机制。

    HADOOP不是第一个处理数据存储与查询的分布式系统,但是它的一些特性把它与

其它类似的系统区分开。我们看一下其中的一部分。

    关系型数据库管理系统

    为什么我们不使用有很多的硬盘的数据库来处理大数据分析?为什么需要HADOOP?

    这个问题是由硬盘的另一个趋势引起的:寻道时间的提升速度比传输速率的提升要

慢得多。寻道是指移动硬盘的磁头到指定位置来读取或写入数据。它表示硬盘操作的

延迟性,相对于传输速率与硬盘带宽的比较。

    数据访问的瓶颈是寻道,它在读取写入大批量数据时比通过传输来操作的流要耗费更长

的时间。另一方面,在更新数据库中一小部分的数据时,传统的B-TREE工作的很好。而

在数据库中大部分数据都需要更新时,它就没有MapReduce那么有效,因为它需要使用

排序/合并来重构数据库。

    在许多方面,MapReduce可以视为关系型数据库管理系统(RDBMS)的补充(这两

个系统之间的区别在表1-1中列出)。MapReduce适用于需要分析整个数据集的问题,尤其

是特殊分析。RDBMS更适用于已经索引好的数据的提取和相对较少的数据的更新。MapReduce

适用于数据一次写入多次读取,而RDBMS更适用于需要持续更新的数据集。

   

    尽管如此,RDBMS与HADOOP之间的区别还是很模糊。RDBMS已经从HADOOP里吸取了一

些思想,另一方面,HADOOP系统,如Hive变得更交互(通过摒弃MapReduce)并且加了

一些像索引和事务的特性,使它看看来越来越像传统的RDBMS.

    HADOOP和RDBMS的另一区别是他们操作的数据的结构总量。结构化数据被组织为有自定义

格式的实体,如XML文档或数据库表,符合预先定义好的格式。这是RDBMS的领域。半结构化

数据,是松散的,尽管可能有一个模式,但是它经常是被忽略的,它可能仅仅用于指导结构化数据:

比如,纯文本或图片数据。HADOOP在非结构化或半结构化数据上工作良好,因为它被设计在处理

数据的时候解释数据(也叫chema-on-read)。它更灵活,避免了RDBMS加载数据的耗时,因

为在HADOOP中它只是一个文件副本。

    关系型数据通常要规范化来保持它的完整性并移除冗余。规范化对HADOOP处理来说是有问题的,

因为它使读取记录成为一个非本地的操作,而HADOOP的一个核心思想是它可以处理流的读写。

    服务器日志是一个非规范化的一个例子(比如,每次客户名称需要全名指定,尽管同一个客户端可能

出现很多次),这也是为什么日志文件特别适合用HADOOP来分析。注意HADOOP也可以执行连接,

只是没有关系型世界中那么常用。

    MapReduce--HADOOP中的另一种处理模式--与要处理的数据大小呈线性增长。数据被分区,原型

功能(如映射和归并)可以并行运行在每一个单独的分区。这意味着如果你把输入数据加倍,它会像

运行两次那么慢。但是如果你也集群加倍,它运行的会像原来一样快。这对SQL查询来说几乎是不可能的。

    网格计算

        高性能计算(HPC)和网格计算社区已经做大数据处理好多年了,使用MPI的API。广义上来说,

HPC的方式是把工作分配到集群的每一台机器,这些机器共享访问一个文件系统,由存储社区网络(

storage area network SAN)管理。它对于密集型计算支持的很好,但是当节点需要访问大的数据块(

几百G,HADOOP真正开始的闪光点)时就成了问题,因为网格带宽是一个瓶颈,导致计算节点的空闲。

    HADOOP尽量把数据放在同一地点的计算节点上,所以数据访问是很快的,因为它是本地访问。这个

特性,就是所谓的数据本地化,是HADOOP数据处理的核心,也是它良好性能的原因所在。必须认为到,

在数据中心,带宽是最宝贵的资源(通过复制数据很容易就会让网络连接达到饱和状态)。HADOOP

竭尽全力的明确网格的拓扑结构保卫它。注意这样的安排不会妨碍HADOOP的高CPU分析。

    MPI给了程序员很大的控制权力,但是这需要他们通过暴露的低级的C例程和结构,如SOCKET,和

其它高级的算法分析来自己处理数据流。HADOOP的处理只在更高的层面上:程序员根据数据模型(

如MapReduce的键-值对)来思考,而数据流是隐藏的。

    大规模的分布式计算的协调处理是一个挑战。最困难的一个方面是优雅的处理部分的失败--当你不知道

远程处理是否失败--依然推进整体计算。分布式处理框架像MapReduce不需要程序员考虑失败,因为它的

实现可以探测到失败任务并重新分配给正常的机器。MapReduce可以做这个事是因为它是一个无分享架构,

意味着所有的任务不依赖其它的任务。(这是一个简化,映射器的输出供给归并器,但是它是在MapReduce

系统的控制下;在这种情况下,相比映射器的失败,它更关心归并器的失败,因为他需要确保可以提取需要的

映射输出,如果没有,再次运行相关的映射来重新生成它。)所以站在程序员的视角,任务的运行顺序没有关系。

相比而言,MPI的程序必须显示的管理他们自己的检查点并恢复,它给了程序员更多的权限,却让他们写的

更困难。

    志愿计算

    当人们第一次听到关于HADOOP和MAPREDUCE时,他们常常会问,"他和SETI@home有什么区别?“SETI,

外星智慧搜索,运行着一个叫做SETI@home的项目,志愿者们把他们的空闲时的CPU时候捐献出来用来分析

射电望远镜数据来找地球外智慧生命的迹象。SETI@home是最著名的志愿计算项目,其它还包含大因特网梅森

素数搜索以及Folding@home(了解蛋白质折叠及如何引起疾病)。

    志愿计算项目的工作方式是把要解决的问题分成工作单元的块,并把它发送到世界各地的计算机上分析。

例如,SETI@home的工作单元是大约0.36MB的射电望远镜数据,在一般的家用电脑上分析需要耗时几个小时

到几天。当分析完毕后,结束发送给服务器,同时客户端得到了另一个工作单元。为了防止作弊,每一个工作单元

都被分配到三台不同的机器上,并且需要至少两个结果一致才会被接受。

    尽管SETI@home也许表面上和MapReduce类似(把问题拆分成互不相关的碎片以并行处理),他们有一些重要

的区别。SETI@home项目的问题是CPU密集型的,它适合运行了世界上成百上千的机器的,因为相对于它的计算

时间来讲,它的工作单元的传输时间可以忽略的。志愿者贡献的是CPU周期,而不是带宽。MapReduce被设计用

来在可信任的,全身心的,运行在同一个数据中心有着很高带宽的机器上运行持续几分钟或几小时的任务。相比而言,

SETI@home运行无尽的运算,在不可信任的机器上,可变的连接速度,没有数据本地化等。

   


下载方式:https://pan.quark.cn/s/a4b39357ea24 在纺织制造领域中,纱线的品质水平对最终制成品的整体质量具有决定性作用。 鉴于消费者对于产品规格和样式要求的不断变化,纺织制造工艺的执行过程日益呈现为一种更为复杂的操作体系,进而导致对纱线质量进行预测的任务变得更加困难。 在众多预测技术中,传统的预测手段在面对多变量间相互交织的复杂关系时,往往显得力不从心。 因此,智能计算技术在预测纱线质量的应用场景中逐渐占据核心地位,其中人工神经网络凭借其卓越的线性映射特性以及自适应学习机制,成为了众多预测方法中的一种重要选择。 在智能计算技术的范畴内,粒子群优化算法(PSO)和反向传播神经网络(BP神经网络)是两种被广泛采用的技术方案。 粒子群优化算法是一种基于群体智能理念的优化技术,它通过模拟鸟类的群体觅食行为来寻求最优解,该算法因其操作简便、执行高效以及具备优秀的全局搜索性能,在函数优化、神经网络训练等多个领域得到了普遍应用。 反向传播神经网络则是一种由多层节点构成的前馈神经网络,它通过误差反向传播的机制来实现网络权重和阈值的动态调整,从而达成学习与预测的目标。 在实际操作层面,反向传播神经网络因其架构设计简洁、实现过程便捷,因此被广泛部署于各类预测和分类任务之中。 然而,该方法也存在一些固有的局限性,例如容易陷入局部最优状态、网络收敛过程缓慢等问题。 而粒子群优化算法在参与神经网络优化时,能够显著增强神经网络的全局搜索性能并提升收敛速度,有效规避神经网络陷入局部最优的困境。 将粒子群优化算法与反向传播神经网络相结合形成的PSO-BP神经网络,通过运用粒子群优化算法对反向传播神经网络的权值和阈值进行精细化调整,能够在预测纱线断裂强度方面,显著提升预测结果的...
植物实例分割数据集 一、基础信息 数据集名称:植物实例分割数据集 图片数量: - 训练集:9,600张图片 - 验证集:913张图片 - 测试集:455张图片 总计:10,968张图片 分类类别:59个类别,对应数字标签0至58,涵盖多种植物状态或特征。 标注格式:YOLO格式,适用于实例分割任务,包含多边形标注点。 数据格式:图像文件,来源于植物图像数据库,适用于计算机视觉任务。 二、适用场景 • 农业植物监测AI系统开发:数据集支持实例分割任务,帮助构建能够自动识别植物特定区域并分类的AI模型,辅助农业专家进行精准监测和分析。 • 智能农业应用研发:集成至农业管理平台,提供实时植物状态识别功能,为作物健康管理和优化种植提供数据支持。 • 学术研究与农业创新:支持植物科学与人工智能交叉领域的研究,助力发表高水平农业AI论文。 • 农业教育与培训:数据集可用于农业院校或培训机构,作为学生学习植物图像分析和实例分割技术的重要资源。 三、数据集优势 • 精准标注与多样性:标注采用YOLO格式,确保分割区域定位精确;包含59个类别,覆盖多种植物状态,具有高度多样性。 • 数据量丰富:拥有超过10,000张图像,大规模数据支持模型充分学习和泛化。 • 任务适配性强:标注兼容主流深度学习框架(如YOLO、Mask R-CNN等),可直接用于实例分割任务,并可能扩展到目标检测或分类等任务。
室内物体实例分割数据集 一、基础信息 • 数据集名称:室内物体实例分割数据集 • 图片数量: 训练集:4923张图片 验证集:3926张图片 测试集:985张图片 总计:9834张图片 • 训练集:4923张图片 • 验证集:3926张图片 • 测试集:985张图片 • 总计:9834张图片 • 分类类别: 床 椅子 沙发 灭火器 人 盆栽植物 冰箱 桌子 垃圾桶 电视 • 床 • 椅子 • 沙发 • 灭火器 • 人 • 盆栽植物 • 冰箱 • 桌子 • 垃圾桶 • 电视 • 标注格式:YOLO格式,包含实例分割的多边形标注,适用于实例分割任务。 • 数据格式:图片为常见格式如JPEG或PNG。 二、适用场景 • 实例分割模型开发:适用于训练和评估实例分割AI模型,用于精确识别和分割室内环境中的物体,如家具、电器和人物。 • 智能家居与物联网:可集成到智能家居系统中,实现自动物体检测和场景理解,提升家居自动化水平。 • 机器人导航与交互:支持机器人在室内环境中的物体识别、避障和交互任务,增强机器人智能化应用。 • 学术研究与教育:用于计算机视觉领域实例分割算法的研究与教学,助力AI模型创新与验证。 三、数据集优势 • 类别多样性:涵盖10个常见室内物体类别,包括家具、电器、人物和日常物品,提升模型在多样化场景中的泛化能力。 • 精确标注质量:采用YOLO格式的多边形标注,确保实例分割边界的准确性,适用于精细的物体识别任务。 • 数据规模充足:提供近万张标注图片,满足模型训练、验证和测试的需求,支持稳健的AI开发。 • 任务适配性强:标注格式兼容主流深度学习框架(如YOLO系列),便于快速集成到实例分割项目中,提高开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值