hadoop - Hadoop 是适合这个的技术吗?

标签 hadoop mapreduce

如果我有数百万条数据记录,每天都在不断更新和添加,我需要梳理所有数据以找到符合特定逻辑的记录,然后将匹配的子集插入到单独的数据库我会使用 Hadoop 和 MapReduce 来完成这样的任务,还是我缺少其他一些技术?我寻找标准 RDMS 以外的东西的主要原因是因为所有基础数​​据都来自多个来源并且结构不统一。

最佳答案

Map-Reduce 专为可以并行化并且可以计算和聚合本地结果的算法而设计。一个典型的例子是计算文档中的单词数。您可以将其分成多个部分,在其中计算一个节点上的一些单词,另一个节点上的一些单词,等等,然后将总数加起来(显然这是一个微不足道的示例,但说明了问题的类型)。

Hadoop 专为处理大型数据文件(例如日志文件)而设计。默认 block 大小为 64MB,因此拥有数百万条小记录并不适合 Hadoop。

要处理具有非统一结构数据的问题,您可以考虑使用 NoSQL 数据库,它旨在处理大量列为空的数据(例如 MongoDB)。

关于hadoop - Hadoop 是适合这个的技术吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11237390/

相关文章:

java - 如何使用 Java 类运行 Hadoop?

php - MongoDB MapReduce 在 PHP 中不返回任何数据

hadoop - 如何在运行 MR 作业时找到存储和读取特定文件的数据节点?

java - Hbase 映射减少 : how to use custom class as value for the mapper and/or reducer?

在 Windows 上使用 python 进行 Hadoop 流式传输

java - Hive - 运行 Java 代码时的依赖关系

hadoop - hive 表存档

java - MapReduce Hadoop 运行时字符串异常

database - CouchDB - "Plucking"来自 View 的最近邻居文档。

linux - 无法无密码登录 ssh localhost,start-all.sh 权限被拒绝