当前位置: 首页 > 知识库问答 >
问题:

在Cassandra中查询多列

王英奕
2023-03-14

我在用Cassandra存储股票信息。每个“行”都有一些基字段,如:时间、价格、关闭、打开、低、高等。在这些字段的顶部,我有一个浮动类型的值列表,其中包含一些内部系统计算。

对象的示例:

Class stockentry

    time timestamp;
    price float;
    close float;
    open float; 
    low float; 
    high float;

    x float;
    y float;
    z float;
    xx2 float;
    xx3  float;
    xx... yy... z... 
    a lot more...

共有1个答案

殳俊
2023-03-14

Cassandra数据建模遵循查询驱动的设计模式。这意味着,我们不是构建一个模型来自然地表示数据(就像我们在RDBMS中所做的那样),而是设计模式来协调数据访问模式。

因此,例如,如果您知道大多数查询都涉及到列x上的where子句,并且按照列y中的行排序,那么您可能希望创建一个附加的表,其中分区键为x,集群列为y。例如:

CREATE TABLE <tablename>
"x" float,
"y" float,
"price" float,
.
.
<rest of columns>
.
.
PRIMARY KEY("x","y"));  

现在,在列x中查询变得非常有效,因为x的特定值的数据存储在一起。

因此,在设计数据模型之前,考虑一下您最有可能执行的查询类型,并相应地进行设计。

 类似资料:
  • 问题内容: 这是我面临的场景的一个示例。说我有这个专栏家庭: 这是一些使用Hector的示例Java代码,用于说明如何将一些数据插入此列系列: 这有效,如果我转到cassandra-cli并列出列表,则会得到以下信息: 我现在的问题是:如何在赫克托尔中查询该数据?基本上,我需要以几种方式查询它: 给我整行,其中行键=“ rowkey1” 给我列数据,其中列名的第一部分=一些整数值 给我所有列名称的

  • 我想查询cassandra timestamp列,例如this hour、last hour、beather。 我在mysql中执行了与昨天数据相同的查询

  • 使用Cassandra 2.28,Drive 3,Sparks2。我在Cassandra中有一个timestamp列,我只需要按日期部分查询它。如果我按日期查询:<代码>。其中(“交易日期=?”,“2012-01-21”:它不会带来任何结果。如果我包括时间部分,它会显示无效日期。我的数据(如我在cqlsh中所读)是:2012-01-21 08:01:00 0000 参数:“2012-01-21”

  • 我正在通过Spark Cassandra连接器应用以下内容:

  • 我想在Scala IDE中测试DSE Cassandra表上的Spark-SQL查询。当在dse spark-submit中执行jar文件时,查询将完美无缺地运行。但在Scala IDE中运行时会出现错误。错误是, 我想是spark主机配置错误,因为我在本地模式下运行主机。 这是我发起的星火会议。 但我不知道该把什么地址设为主人。我尝试将主地址设置为“spark://127.0.0.1:7077”