有Hadoop经验吗?

时间:2020-03-05 18:41:02  来源:igfitidea点击:

你们中有人尝试过Hadoop吗?在无共享体系结构中,可以在没有随附的分布式文件系统的情况下使用它吗?那有意义吗?

我也对我们获得的任何性能结果感兴趣...

解决方案

回答

是的,我们可以在各个位置使用文件URI而不是hdfs URI在本地文件系统上使用Hadoop。我认为Hadoop随附的许多示例都可以做到这一点。

如果我们只是想学习Hadoop的工作原理和基本的map-reduce范式,那可能就很好了,但是我们将需要多台机器和一个分布式文件系统来获得架构固有的可伸缩性的真正好处。

回答

如Joe所说,我们确实可以在没有HDFS的情况下使用Hadoop。但是,吞吐量取决于群集在存储数据的位置附近进行计算的能力。使用HDFS有两个主要好处,恕我直言:1)计算在整个群集中分布更均匀(减少了节点间的通信量),以及2)整个群集更能抵抗由于数据不可用而导致的故障。

如果数据已经分区或者微不足道地分区,则可能需要考虑为map-reduce任务提供自己的分区功能。

回答

围绕Hadoop的最好方法是下载它并开始探索包含示例。使用Linux box / VM,设置将比Mac或者Windows容易得多。一旦我们对示例和概念感到满意,然后开始查看问题空间如何映射到框架中。

我们可能会发现一些有用的资源,这些资源对于Hadoop的更多信息有用:

Hadoop峰会视频和演示

Hadoop:权威指南:粗略版本这是目前Hadoop上仅有的几本(仅?)书籍之一。我想说,即使在这一点上,电子下载选项的价格也是值得的(本书已完成约40%)。

Hadoop:权威指南:粗略版本http://oreilly.com/catalog/covers/9780596521998_cat.gif

回答

Hadoop MapReduce可以在任意数量的文件系统甚至是更多抽象数据源(例如数据库)上运行。实际上,有两个内置类可支持非HDFS文件系统,例如S3和FTP。我们还可以通过扩展基本的InputFormat类来轻松构建自己的输入格式。

但是,使用HDFS具有某些优势。最有力的好处是,MapReduce作业调度程序将尝试执行映射,并减少存储需要处理的记录的物理计算机上的映射。这可以提高性能,因为可以直接从本地磁盘加载数据,而不必通过网络传输数据,这取决于连接速度可能会降低几个数量级。