我对hadoop和MapReduce相对较新,但我想用它来分析大量数据。该数据代表约1 GB的棒球统计数据,并且全部存储在MySQL数据库中。我知道hadoop是围绕将代码引入数据而不是相反的思想构建的,因此传统数据库通常不能与hadoop一起使用。但是,我做了一些研究,看起来Sqoop可能满足我的需求。以下是我的一些问题:
答案 0 :(得分:1)
如果您能够在一台机器的主存储器中存储和处理所有数据,那么在多台机器之间拆分数据是没有意义的。
关于你在问什么,有讨论here。
因此,我认为,MapReduce处理1 GB数据有点过分。您是对的,数据库可以从较大的数据集中选择少量数据(前提是您拥有正确的索引),如果您需要处理所有可用数据,则数据库可能无效。但同样,如果您拥有正确的数据库架构和正确的索引,那么您将能够使用现有的MySQL数据服务器非常有效地分析您的数据。
另一种情况 - 您想学习MapReduce并可能预期更多数据。然后Sqoop真的有意义。