未来的hadoop

现在,无论是Twitter还是eBay或是LinkedIn在使用Hadoop,而Facebook则将这一分布式系统基础架构上升到了新的极致。并且,Hadoop正致力于将此服务平台做到极致。基础设施负责人杰伊·帕瑞克曾表示,Facebook运行着世界上最大的Hadoop计算机集群。Facebook的Hadoop集群中的一个,就涉及了超过4000台机器,存储着超过100PB(petabytes)字节的数据,也就是数百万gigabytes的数据。

 

这个集群是非常庞大,甚至已经超越了四个数据中心。Facebook使用Hadoop服务器来分配分布于各离散数据中心的数据空间,使每次的寻址过程自主进行。Facebook工程师拉古·穆尔蒂说。“我们的规划总是目光长远的,但是,我们必须通过这个过程,将所有数据迁移到新的地方去。”几年之前,拉古·穆尔蒂还在完成斯坦福大学Ph.D.项目的时候,被杰夫·哈梅巴赫;目前为止,他作为Facebook大数据业务团队的中坚力量,已工作四年有余。

 

Facebook信誓旦旦地表示绝不会再犯类似的错误,于是开始着手建立一个跨越多个数据中心的Hadoop集群。该项目由穆尔蒂负责,他曾经参与搭建雅虎(Yahoo)的pre-Hadoop分布式计算系统,并吸引到了哈梅巴赫的注意。如今,穆尔蒂已经参与过,包括Hive在内的许多Facebook的重要项目的研发。但是,这还是有些许不同——Hadoop的设计并没有考虑多设备之上运行情况。通常情况下,由于需要服务器之间的高负载通信,集群被限制在了单一数据中心。

 

穆尔蒂和他的团队成员,在整个Facebook地基础设施上,推出了一个叫作Prism平台。典型的Hadoop集群,通常是由单一的“命名空间”(namespace)管理,但是Prism则开辟出多个命名空间,在一个相同的物理集群之上,创造了很多“逻辑集群”。

 

这些“命名空间”可以划分给不同的Facebook团队,这样每一个团队都能够得到属于自己的命名空间,不过仍然全都在使用同一个数据集,而这个数据集可以跨越多个数据中心。这里的诀窍是,当一个团队运行一项工作的时候,它可以复制这项工作所需要的特定的数据,并且把它移进一个单一的数据中心。穆尔蒂表示,“我们将这些能力下放到独立的小团队,因为他们能够更好的了解网站特殊部分的独特需要。”

 

根据穆尔蒂,这一系统理论上,可以扩展到无限多个服务器上。这意味着,Facebook不必再去担心,需要打造另一个新的数据中心了。对于数据团队的托斯来说,这意味着他能够保证这一基础设施平稳运行——这有一个额外的好处,他表示,“把整个Hadooop集群放在一个数据中心中,让我害怕极了,而Prism能够帮助在这一点上提供帮助。”

 

Prism只是众多扩展Hadoop的努力中的一个。前任雅虎雇员艾弗里·清带领的团队,最近刚刚部署了一个新的叫作Corona的平台,允许多个工作,在一个单一的Hadoop集群之上,而并不会导致崩溃。

 

穆尔蒂还帮助建造了一个叫作Peregrine的工具,能够让查询Hadoop数据的速度比标准情况快很多。Hadoop的设计初衷是一个“批处理系统”,这意味着,通常需要在运行作业的时候进行等候,但是和Impala相似的是(一个由哈梅巴赫和Cloudera创建的系统),Peregrine可以让平台更接近实时。

 

Facebook并没有与外界共享所有的软件,但是却分享了Corona,而如果以此作为习惯参考,它很有可能会在未来分享更多的代码。这就是为什么像艾弗里这样的工程师会在这里工作,“在Facebook,我们比起他人更早地遇到问题,而其他人就可以从中受益,他们不需要重蹈覆辙,也不需要重头再来。”

 

Hadoop是Facebook数据操作的基石,这种情况还将延续很多年。但是随着Scuba等工具的兴起,Facebook也将转投新的方向。

 

Scuba是一款正在快速增长的内存数据储存工具,设计的主要目的是为了极大的提高数据信息分析的速度。这款工具是由Facebook公司的工程师团队开发的,该团队中包括一位在顶级编程网站Top Coder上,排名第一的工程师约什·梅茨勒。Scuba在Facebook的数据中心中运行,帮助该公司收集基础设施的信息,并这些log压缩在数以百计的服务器内存中。所以,这些数据可以被即时查询到。

 

帕瑞克表示:“这就像Excel的数据透视表一样。即使你在处理数以百万计的数据,你也可以在亚秒级的响应时间里得到结果。”

 

是的,这个项目看起来似乎与Peregrine有些重叠——至少在一些部分上存在重复。但就像杰夫·哈梅巴赫指出的,这款工具是Facebook精神的一部分。“Facebook做事的方式,就是寻找最短路径的解决方案,而并非打造一款大而全的系统,来处理所有问题。”就像Facebook的其他项目一样,Scuba是在公司级的黑客马拉松(hackathon)中脱颖而出的。工程师遇到问题就自己解决,而非等到其他项目来帮他们解决问题。

http://tech.qq.com/a/20130205/000029.htm?pgv_ref=aio2012&ptlang=2052

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值