【问题标题】:HIVE, HBASE which one I have to use for My Data AnalyticsHIVE,HBASE,我必须将其用于我的数据分析
【发布时间】:2014-07-10 05:04:38
【问题描述】:

我有 150 GB 的 MySQL 数据,计划将 MySQL 替换为 Casandra 作为后端。 分析,计划使用 Hadoop、HIVE 或 HBASE。 目前我有 4 台物理机用于 POC。请有人帮助我提出最有效的架构。 每天我将获得 5 GB 的数据。

  1. 我必须向每位客户发送每日状态报告。
  2. 必须根据要求提供分析报告:例如:1周报告或上个月前2周报告。是否可以使用 HIVe 或 HBASE 立即生成报告?

  3. 我想使用 Cassandra、Hadoop 提供最佳性能。

【问题讨论】:

    标签: mysql hadoop cassandra hive hbase


    【解决方案1】:

    Hadoop 可以使用 Map reduce 范式或其他方式处理您的数据,并使用 Spark 等新兴技术。优点是可靠的分布式文件系统和使用数据局部性将计算发送到拥有数据的节点。

    Hive 是一种很好的类似 SQL 的方式来处理文件并每天生成一次报告。它是批处理,每天多 5 GB 应该不会产生很大的影响。虽然它有很高的开销延迟,但如果您每天执行一次应该不会有问题。

    HBase 和 Cassandra 是 NoSQL 数据库,其目的是以低延迟提供数据。如果这是一个要求,您应该使用其中任何一个。 HBase 使用 DFS 来存储数据,而 Cassandra 具有与 Hadoop 的良好连接器,因此运行使用这两个源的作业很简单。

    对于基于请求、指定日期范围的报告,您应该以有效的方式存储数据,这样您就不必提取报告不需要的数据。 Hive 支持分区并且可以使用日期来完成(即/<year>/<month>/<day>/)。使用分区可以显着优化您的作业执行时间。

    如果您使用 NoSQL 方法,请确保行键具有某种日期格式作为前缀(例如 20140521...),以便您可以选择以您想要的日期开头的那些。

    您还应该考虑的一些问题是:

    • 您希望在集群中存储多少数据 - 例如最后180 天等。这将影响节点/磁盘的数量。当心数据通常被复制 3 次。
    • 您在 HDFS 中有多少个文件 - 当文件数很高时, Namenode 将在检索文件元数据时受到重创。一些 存在解决方案,例如复制名称节点或使用 MapR Hadoop 本身不依赖 Namenode 的发行版。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-18
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      相关资源
      最近更新 更多