Hadoop 要映射的Cassandra聚合

Hadoop 要映射的Cassandra聚合,hadoop,cassandra,hive,datastax,Hadoop,Cassandra,Hive,Datastax,我是卡桑德拉的新手,过去几个月我主要使用蜂箱。最近我开始了一个项目,我需要做一些我在蜂箱里和卡桑德拉做的事情 本质上,我试图找到一种方法,在查询时将多行聚合到单个映射中 在hive中,我只需使用“映射”聚合进行分组。卡桑德拉有没有类似的方法 下面是一个执行我希望执行的任务的工作配置单元查询的示例: select map( "quantity", count(caseid) , "title" ,casesubcat , "id" ,

我是卡桑德拉的新手,过去几个月我主要使用蜂箱。最近我开始了一个项目,我需要做一些我在蜂箱里和卡桑德拉做的事情

本质上,我试图找到一种方法,在查询时将多行聚合到单个映射中

在hive中,我只需使用“映射”聚合进行分组。卡桑德拉有没有类似的方法

下面是一个执行我希望执行的任务的工作配置单元查询的示例:

select 
      map(
        "quantity", count(caseid)
        , "title" ,casesubcat
        , "id" , casesubcatid
        , "category", named_struct("id",casecatid,'title',casecat) 
      ) as casedata
from caselist
group by named_struct("id",casecatid,'title',casecat) , casesubcat, casesubcatid

将查询结果映射到映射(或您选择的其他类型/结构/类)是客户机应用程序的责任,通常是一项琐碎的任务(但您没有指定此映射将在什么上下文中使用)

这里的实际问题是关于《卡桑德拉》中的
groupby
。这是不支持开箱即用的。您可以检查Cassandra或尝试创建,但是,Cassandra Way是提前知道您的查询,相应地设计您的模式,在编写阶段执行繁重的工作,然后简化查询。因此,分组/聚合通常可以通过使用专用工具来实现


另一个选择是在附加层中进行数据处理(例如,ApacheSpark)。您是否考虑过在Cassandra之上使用Hive?

将查询结果映射到映射(或您选择的其他类型/结构/类)是客户机应用程序的责任,通常是一项简单的任务(但您没有指定在什么上下文中使用此映射)

这里的实际问题是关于《卡桑德拉》中的
groupby
。这是不支持开箱即用的。您可以检查Cassandra或尝试创建,但是,Cassandra Way是提前知道您的查询,相应地设计您的模式,在编写阶段执行繁重的工作,然后简化查询。因此,分组/聚合通常可以通过使用专用工具来实现

另一个选择是在附加层中进行数据处理(例如,ApacheSpark)。你有没有考虑过在卡桑德拉的上面使用蜂箱