gpt4 book ai didi

hadoop - 基于 Cassandra 的数据分析和挖掘

转载 作者:可可西里 更新时间:2023-11-01 14:10:48 25 4
gpt4 key购买 nike

我们有大量来自各种网站的用户交互数据存储在 Cassandra 中,例如 cookie、页面访问、广告查看、广告点击等,我们希望对其进行报告。我们当前的 Cassandra 模式支持基本的报告和查询。但是,我们还想构建大型查询,这些查询通常涉及大型列族(包含数百万行)上的联接。

什么方法最适合这个?一种可能性是将数据提取到关系数据库(如 mySQL)并在那里进行数据挖掘。替代方法可能是尝试将 hadoop 与 hive 或 pig 一起使用来为此目的运行 map reduce 查询?我必须承认我对后者的经验为零。

有没有人经历过两者之间的性能差异?您会在实时 Cassandra 生产实例或备份副本上运行 map reduce 查询以防止查询负载影响写入性能吗?

最佳答案

根据我的经验,Cassandra 更适合需要实时访问数据、快速随机读取以及通常只处理大流量负载的进程。但是,如果您开始进行复杂的分析,您的 Cassandra 集群的可用性可能会受到明显影响。一般来说,根据我的观察,让 Cassandra 集群保持独立对您最有利,否则可用性就会受到影响。

听起来您需要一个分析平台,我绝对建议您将报告数据从 Cassandra 中导出,以便在离线数据仓库系统中使用。

如果您负担得起,拥有一个真正的数据仓库将允许您通过对多个表进行复杂的连接来执行复杂的查询。这些数据仓库系统广泛用于报告,以下是我认为主要参与者的列表:

  • 网络
  • Aster/TeraData
  • 垂直

最近获得很大动力的是 Amazon Redshift ,但它目前处于测试阶段,但如果您能得到它,您可以尝试一下,因为它看起来像一个可靠的分析平台,而且价格比上述解决方案更具吸引力。

使用 Hadoop MapReduce/Hive/Pig 等替代方案也很有趣,但可能无法替代 Hadoop 技术。如果您有 SQL 背景,我会推荐 Hive,因为它很容易理解您在做什么,并且您可以轻松扩展。实际上已经有与 Hadoop 集成的库,例如 Apache Mahout ,它允许您在 Hadoop 集群上进行数据挖掘,您绝对应该尝试一下,看看它是否符合您的需求。

为了给您一个想法,我使用的一种方法到目前为止一直运行良好,它是在 Hive 中预先聚合结果,然后在像 Netezza 这样的数据仓库中生成报告本身以计算复杂的连接。

关于hadoop - 基于 Cassandra 的数据分析和挖掘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14532230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com