Cassandra 是不是支持聚合功能或 Map Reduce 等任何其他功能?

Posted

技术标签:

【中文标题】Cassandra 是不是支持聚合功能或 Map Reduce 等任何其他功能?【英文标题】:Does Cassandra support aggregation function or any other capabilities like Map Reduce?Cassandra 是否支持聚合功能或 Map Reduce 等任何其他功能? 【发布时间】:2015-06-10 11:59:28 【问题描述】:

我是 Cassandra 的新手,实际上我正在做一些调查和概念验证,看看它是否适合我们当前的任务。 当我阅读有关 Cassandra 的信息时,据我所知,它不支持聚合或 Map Reduce 框架来完成聚合任务。 我已经检查了这些问题,但它们不是我问题的具体答案: Aggregation queries in Cassandra CQL 例如,如果我有一个 CDR(呼叫数据记录)表

+--------------+----------+---------+------------+
| src          | duration | billsec | route_rate |
+--------------+----------+---------+------------+
| 0000FFFF0008 | 37       | 30      | 0.01       | 
+--------------+----------+---------+------------+

我可以在 Casandra 中执行查询吗?

SELECT * FROM CDRS GROUP BY src ORDER BY src, billsec 

MongoDB、Hadoop 和其他可能提供 Map Reduce,RDBMS 提供 GROUP BY。

Cassandra 是否提供类似的东西,你能提供一些例子吗?

【问题讨论】:

参考Cassandra aggregation 【参考方案1】:

Cassandra 是一个 NoSQL 数据库,它本身不支持 map reduce 聚合(尽管您可以使用 CQL 接口做很多事情)。另一方面,它确实支持 ColumnFamilyInputFormat 和 ColumnFamilyOutputFormat 类,mapreduce 使用这些类分别从 Cassandra 读取数据和向 Cassandra 写入数据。 Cassandra 还附带了一些组件,可以很好地与 Spark 集成。

【讨论】:

【参考方案2】:

Cassandra 2.2 包含CASSANDRA-4914 - Aggregate Functions in CQL。这目前在 cassandra downloads 页面上作为候选版本 (2.2-rc1) 提供。

【讨论】:

感谢您的更新!我也一直在关注发布讨论,我迫不及待地想抽出时间试用新的 RC。【参考方案3】:

在带有 Cassandra 的 MapReduce 上:您可以轻松使用 Apache Hive,它将您的查询转换为 Hadoop 作业并在 Cassandra 之上提供 JDBC 层,或者您也可以选择 Spark。

【讨论】:

以上是关于Cassandra 是不是支持聚合功能或 Map Reduce 等任何其他功能?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Cassandra 内部不支持聚合?

从 PostgreSQL 到 Cassandra - 不支持聚合函数

Cassandra 是不是支持条件查询?

Stargate REST API 是不是支持 Cassandra 批量查询?

cassandra + pig 宽柱

在Cassandra中用新的键值对更新地图类型列,而不是完全覆盖地图。