【问题标题】:How can I effectively use hadoop with a large MySQL database?如何有效地将 hadoop 与大型 MySQL 数据库一起使用?
【发布时间】:2014-11-26 18:45:54
【问题描述】:

我对 hadoop 和 MapReduce 比较陌生,但我想用它来分析大量数据。这些数据代表大约 1 GB 的棒球统计数据,并且全部存储在 MySQL 数据库中。我知道 hadoop 是围绕将代码引入数据而不是相反的想法构建的,因此传统数据库通常不能很好地与 hadoop 一起使用。但是,我做了一些研究,看起来 Sqoop 可能适合我的需求。以下是我的几个问题:

  • 1 GB 的数据是否足以保证使用 MapReduce 框架?还是小到可以按顺序处理?
  • 如何才能最有效地处理这些数据?我应该使用 Sqoop 插件还是尝试重构数据?
  • 使用 hadoop 可以获得哪些性能提升?

【问题讨论】:

  • “假设”我们是假设还是您确认了这一点?
  • 这是一个假设,如果我错了,你可以纠正我。
  • 我无权访问您的数据和设置。你做。你需要弄清楚它是否是一个瓶颈,而不是仅仅假设它是。

标签: mysql hadoop bigdata sqoop


【解决方案1】:

如果您能够在单台机器的主内存中存储和处理所有数据,那么在多台机器之间拆分数据是没有意义的。

关于你的要求有讨论here

所以,我认为 MapReduce 处理 1 GB 数据有点过头了。没错,数据库适合从更大的数据集中选择少量数据(前提是您有正确的索引),如果您需要处理所有可用数据,则可能效果不佳。但同样,如果您拥有正确的数据库架构和正确的索引,那么您将能够使用现有的 MySQL 数据服务器非常有效地分析您的数据。

另一种情况 - 您想学习 MapReduce 并可能预期更多数据。那么 Sqoop 真的很有意义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-25
    • 2016-12-26
    • 2017-09-30
    • 2010-09-07
    • 2015-03-14
    • 1970-01-01
    • 2011-01-17
    • 2017-12-11
    相关资源
    最近更新 更多