我有一个表,其列如下所示:
我创建了如下表:
CREATE TABLE IF NOT EXISTS INFO (symbol varchar, region varchar, country varchar, location varchar, date date,count varint, PRIMARY KEY(symbol,date));
简单地说,我想要支持where子句中所有或任意数量列的表结构。
在卡桑德拉有可能做到这一点吗?
在我看来,你需要学习一些Cassandra数据建模。我建议您访问https://academy.datastax.com/courses并观看一些课程(更具体地说是DS210和DS220),它们在简单注册后是免费的。在我看来,这是学习卡桑德拉最好的方法。我知道它们很长,但它们非常有用。
来回答你的问题。在查询中总是必须指定分区键(在本例中是符号),这就是为什么:当插入数据时,Cassandra将对主键进行散列,并将数据存储在负责该散列的节点上(这称为范围)。因此,如果集群中有1000个节点,并且运行指定的选择查询之一,那么Cassandra如何知道哪个节点有数据呢?使用ALLOW FILTERING可以在所有节点中搜索所需的数据,但可以想象,这对性能的影响很大。下面是一个更好地理解的参考:https://www.datastax.com/dev/blog/the-most-mealth-the-to-know-in-cassandra-data-modeling-the-primary-key
解决这个问题的方法是创建多个数据相同但分区键不同的表。是的,这会产生很多冗余数据,但这真的那么糟糕吗?
第二个代价是您必须进行多次写入以保持表的一致性。但是与SQL数据库相比,Cassandra的数据写入速度非常快。读取更昂贵,但这在您的情况下并不重要,因为无论如何您只能读取一次数据。
那么你实际应该怎么做呢?
在您的情况下,您必须为所需的每个新分区键创建一个新表。即创建4个以日期、国家、位置和地区作为分区键的新表。
select * from info where symbol='AAA' AND count < 5;
CREATE TABLE IF NOT EXISTS INFO (symbol varchar, region varchar, country varchar, location varchar, date date,count varint, PRIMARY KEY(symbol,date,count,));
我正在尝试创建列表列表,其中大列表表示纸张包含小列表表示问题的集合,问题列表由问题字符串及其ID组成。在这里我的代码: 现在我没有错误地制作问题列表,但是当我尝试创建更大的列表时,Visual Studio无法将可变问题类型识别为类型,哪里错了?
我有一个包含100列的数据框: 我有一个列名列表: 结构列表=['column4','column3','column2'] 预期架构: 目前,我正在对以下值进行硬编码: 是否有一种方法可以动态传递列表中的值?
我不熟悉java和springboot。我正在尝试使用springboot创建一个CRUD应用程序。我使用MySQL存储数据。 员工模式- 员工资源库- 员工控制员- 上面的控制器在JSON对象数组表单中给出了结果,如下所示 但我需要以下表格的回复 非常感谢你的帮助。
问题内容: 用Java创建链接列表的最佳方法是什么? 问题答案: 对于熟悉Java的开发人员来说,显而易见的解决方案是使用java.util中已经提供的LinkedList类。说,但是,由于某种原因,你想进行自己的实现。这是一个链接列表的快速示例,该链接列表在列表的开头插入新链接,从列表的开头删除并循环浏览列表以打印其中包含的链接。对此实现的增强包括使其成为双向链接列表,添加从中间或结尾插入和删除
我想列个这样的单子。请帮帮我.谢了。
问题内容: 如何在Django(Python)中像Google App Engine(Python)中的ListProperty属性一样创建ListField ?我的数据是这样的名单:3,4,5,6,7,8。 我必须定义什么属性,以及如何从中获取值? 问题答案: 使用你可以使用的类型来重新研究它。但这有一些假设,例如你不在列表中存储复杂类型的事实。出于这个原因,我曾经强制只将简单的内置类型作为成员