最近在 Couchbase 的网络研讨会上,他们说 Hadoop 用于处理大型日志文件,而 Couchbase 用于将其呈现给应用层。他们声称 Couchbase 和 Hadoop 的 map 和 reduce 是不同的,并且适用于所提到的各自的用例。我打算使用 Couchbase map reduce 来处理大量的日志文件。有人可以澄清一下两张地图减少的确切区别吗?Hadoop 中是否有任何特性使其更适合处理大型日志文件?
谢谢...
主要区别在于 couchbase 使用增量 map/reduce 并且不会扫描您需要更新或删除项目的所有数据集。另一个区别是“大”的大小。如果您需要一次处理数百 GB 的日志,那么沙发底座不是最佳选择。
Couchbase 是众多 NoSQL 数据存储应用程序之一。数据存储在键/值对中,键被索引以便快速检索。
相反,hadoop 中的数据没有索引(除了文件名),从 HDFS 中的文件中提取特定值要慢得多,可能涉及扫描许多文件。
您通常会使用 Hadoop mapreduce 之类的东西来处理大文件,并更新/填充 NoSQL 存储(例如 Couchbase)。
使用 NoSQL 数据存储来处理大量数据很可能不如使用 MapReduce 来完成相同的工作。但是 NoSQL 数据存储将能够比 MapReduce 作业更有效地为 Web 层提供服务(可能需要 10 秒的初始化时间,以及几分钟/几小时的运行时间)。