我们正在制定策略,以分析用户对网站上1M +项目的“兴趣”(点击,喜欢等),以生成“类似项目”列表。
为了处理大量原始数据,我们正在学习有关Hadoop,Hive和相关项目的信息。
我的问题与这个问题有关:Hadoop / Hive等似乎更适合数据转储,随后是处理周期。大概处理周期的结束是对相关项目之间链接的索引图的扩展。
如果目前为止一切正常,在以下情况下通常如何处理数据:
我希望更好地了解这种大数据处理的通用方法。
最佳答案
我认为这是Hadoop工具系列的一个很好的用例。
在我看来,HDFS和Flume可能是显而易见的选择,我会研究HBase还是Hive,具体取决于您对哪种分析感兴趣,组织数据的灵活性如何
并查询它。
Is the raw user data re-analyzed at intervals to re-build an indexed graph of links?
答:Hadoop在这方面非常有用。我会为此使用HBase,但还有其他选择。
Do we stream data as it comes in, analyze it and update the data store?
答:Flume对此有好处。
As the resultant data from the analysis changes, are we typically updating it piece by piece, or re-processing in bulk?
答:您可以同时选择两者。批量可能是HDFS上的MapReduce作业,其中可以通过HBase列系列值或Hive行来逐段管理。如果您提供更多细节,我可能会更精确。
Is this use case better addressed by Cassandra than Hive/HDFS?
答:Cassandra和HBase都是Google BigTable的实现。我认为选择取决于
您如何组织,访问,分析和更新数据。如果需要,我可以提供更多指导。
HBase通常更适合半结构化,高R / W处理。
DHFS通常是您灵活地,可扩展地存储数据转储的理想选择。
Flume适用于移动流数据。
如果您正在考虑图形,我还将考虑研究Titan和HBase。
如果您对面向表格的数据以及使用类似SQL的查询感兴趣,Hive将适用。
关于hadoop - 使用Hadoop及相关项目分析不断变化的使用模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11856428/