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 等任何其他功能?的主要内容,如果未能解决你的问题,请参考以下文章
从 PostgreSQL 到 Cassandra - 不支持聚合函数