Cassandra 卡桑德拉UDF,UDA。在地图中第一次重复按键时退出UDF和UDA

Cassandra 卡桑德拉UDF,UDA。在地图中第一次重复按键时退出UDF和UDA,cassandra,distinct,aggregate-functions,user-defined-functions,database-performance,Cassandra,Distinct,Aggregate Functions,User Defined Functions,Database Performance,我想在函数和聚合的第一个键重复时退出 把地图还给我。这将帮助我提高查询的性能。目前,它会浏览所有记录 我有一个聚合函数 create aggregate getdistinct(val1 int, val2 text) SFUNC createdistinctmap STYPE map<int,text> INITCOND (); 您的函数/聚合查询似乎没有针对特定的分区密钥。因此,以这种方式设计模型,而不是查询所有内容。我试图获得非分区键的不同值,与分区键的值相对应。在上面的

我想在函数和聚合的第一个键重复时退出 把地图还给我。这将帮助我提高查询的性能。目前,它会浏览所有记录

我有一个聚合函数

create aggregate getdistinct(val1 int, val2 text)
SFUNC createdistinctmap 
STYPE map<int,text> 
INITCOND ();

您的函数/聚合查询似乎没有针对特定的分区密钥。因此,以这种方式设计模型,而不是查询所有内容。我试图获得非分区键的不同值,与分区键的值相对应。在上面的代码中,val1是非分区键,val2是分区键。最终结果将是不同的键,但所有键的值相同。
    CREATE OR REPLACE FUNCTION db.createdistinctmap ( container map<int,text>, val1 int, val2 text) 
    CALLED ON NULL INPUT 
    RETURNS map<int,text>
    LANGUAGE java AS 
      $$ 
String val2String = (String) container.get(val1);
if(val2String == null){
    container.put(val1, val2);
}
else{
    System.exit(0); 
    //I would like to exit at this point from the function and aggregate 
    //and return the container on first key repetition
}
         return container; $$ 
    ;
select getdistict(column1, column2) from table;