0

我们正在制定策略,分析用户对我们网站上超过 100 万件商品的“兴趣”(点击、喜欢等),以生成“相似商品”列表。

为了处理大量原始数据,我们正在学习 Hadoop、Hive 和相关项目。

我的问题是关于这个问题:Hadoop/Hive 等似乎更倾向于数据转储,其次是处理周期。据推测,处理周期的结束是对相关项目之间链接的索引图的扩展。

如果我到目前为止一切正常,在这些情况下通常如何处理数据:即

  • 是否每隔一段时间重新分析原始用户数据以重新构建链接的索引图?
  • 我们是否在数据进入时对其进行流式传输、分析并更新数据存储?
  • 随着分析的结果数据发生变化,我们通常是逐个更新还是批量重新处理?
  • Cassandra 是否比 Hive/HDFS 更好地解决了这个用例?

我希望更好地理解这种大数据处理的常用方法。

4

1 回答 1

1

我认为这是 Hadoop 系列工具的一个很好的用例。在我看来,HDFS 和 Flume 可能是显而易见的选择,我会根据您感兴趣的分析类型、组织数据和查询数据的灵活性来研究 HBase 或 Hive。

是否每隔一段时间重新分析原始用户数据以重新构建链接的索引图?

答:Hadoop 非常适合这一点。我会为此使用 HBase,但还有其他选择。

我们是否在数据进入时对其进行流式传输、分析并更新数据存储?

答:Flume 对此有好处。

随着分析的结果数据发生变化,我们通常是逐个更新还是批量重新处理?

答:您可以选择两者都做。Bulk 可能是 HDFS 上的 MapReduce 作业,其中可以通过 HBase 列族值或 Hive 行逐个管理。如果您提供更多详细信息,我可能会更准确。

Cassandra 是否比 Hive/HDFS 更好地解决了这个用例?

答:Cassandra 和 HBase 都是 Google BigTable 的实现。我认为这种选择取决于您需要如何组织、访问、分析和更新数据。如果需要,我可以提供更多指导。HBase 通常更适合半结构化、高 R/W 处理。

DHFS 通常是灵活、可扩展的数据转储存储的好选择,正如您所说的那样。 Flume适用于移动流数据。

如果您正在考虑图表,我也会考虑研究 Titan 和 HBase。

如果您对面向表格的数据和使用类似 SQL 的查询感兴趣,Hive 将适用。

于 2012-08-08T01:32:20.850 回答