首页 文章

使用cql从cassandra中的每个分区查询2个单元格

提问于
浏览
0

我是cassandra的新手,我正在使用cassandra datastax驱动程序来访问我的密钥空间 . 我有一个遗留表,它是使用cassandra thrift客户端创建的 . 我需要在一个查询中从每个分区检索两个列值 . 这就像hector api中的multigetslice Query . 如何使用cql和DataStax Java驱动程序执行此操作?

--edit--

我的列族是遗留表,在cqlsh中看起来如下所示 .

CREATE TABLE messages (
  key blob,
  column1 text,
  value blob,
  PRIMARY KEY ((key), column1)
).

我需要为每个键选择两个值 . 在此表中,我用来存储每个用户的消息 . userid作为rowkey,messageid作为columnname,message作为value . 我需要显示每个用户的两条最新消息 .

2 回答

  • 0

    尝试使用IN filter condition .

  • 0

    我认为你应该为每个分区执行一个请求(如果获得多个分区,则同时执行) . 假设你想要以'column1'的自然顺序排在前两位:

    SELECT column1, value FROM messages WHERE key=<blob> LIMIT 2;
    

相关问题