我正在运行3.11.1,在失败状态下有6个表大小。
Max partition is larger than 100MB.
对于这6个表,分区大小平均在200 5GB到5GB以上。这6个表被分割成3个键空间,并且特定于Akka持久性 eventsByTag (即eventsByTag1、eventsByTag2)。
这些表中的许多数据没有被使用,它仍然需要可用。
然而,我正在考虑改变数据模型,但同时,我试图更好地理解大分区大小的影响。
除了内存不足或访问卡桑德拉限制之外,如果大多数数据没有被访问,还有其他一些大分区大小的负面影响吗?
一个可能相关(未证实)的具体案例是,我目前正在运行带有物化视
HBase和Cassandra是作为宽列存储构建的,使用行和列的概念。
行由与RDBMS中的主键概念类似的键和由多列组成的值组成。
表示可以如下所示:
*******| Key | Value
-------+------------+-------------+------------------------------------------
Colunms| | name | value
-------+------------+-------------+-------
我在试着从Cassandra那里得到一些时间序列数据
我的表显示在图片上,当我查询时,我得到的数据如下所示:首先,当我在Cassandra中插入数据时,我看到的是所有的假数据,接下来,我看到的是所有的真数据。我的问题是:我如何根据插入时的时间对数据进行排序或排列,以便能够在插入时按顺序排列数据。
当我尝试"select c1 from table1 order by c2“时,我得到以下错误:"ORDER BY只有当分区键被EQ或IN限制时才受支持。”
谢谢你,
我阅读了有关存储时间序列数据的Datastax文章,
根据文章,它应该创建宽行来存储一些时间序列。如下(文章中的图片):
我创建了表:
CREATE TABLE test.times ( id text, time timestamp, temperature text, PRIMARY KEY (id, time));
并插入一些值:
cqlsh> insert into test.times (id, time , temperature ) VALUES ( '1', '2013-04-03 07:03:00', '72F');
c
我在cassandra中有一个表,其中A(String)和B (int)是分区键,我正在用spark编写sql查询
select ("SELECT * from table where A IN ("221",...) and B IN(32,323...));
在解释计划中,它似乎是在进行批处理扫描,而不是直接连接分区键。
== Physical Plan ==
Project [A,B ... other columns]
+- BatchScan[A,B ... other columns] Cassandra Scan: dev.table
Cassandra滤
我在Cassandra中看到,对于每一个行键,我们可以节省数十亿的列名/列值对。
此外,在能够在Cassandra中持久化数据之前,我们需要创建模式。
因此,我想知道我们应该如何创建一个包含数十亿列的模式?
这没有道理吗?我正在专门研究一个用例,在这个用例中,我希望保存每分钟生成的事件,并且每分钟都可以有数百万(如果不是数十亿)事件。因此,我想知道如何正确地建模。
2022-05-22-05-55 --> <event id as column name, event value as column value>
请帮帮忙。
我试图从c++应用程序中查询cassandra,并返回一组键的值。我正在使用这里描述的datastax驱动程序:
cassandra查询字符串如下所示:
SELECT value from my_table WHERE key IN (?);
如果我为每个参数数准备了一个单独的查询字符串,我可以使用cass_statement_bind_string_n,但是是否有一种方法可以使用一个字符串,而不管我希望查询的键数是多少?
我对卡桑德拉的聚类感到有点困惑。我有一个非常重写和更新的应用程序。对于传统的关系数据库,我将数据划分为两个表:一个表用于不频繁更改的数据;一个表(行较短)用于频繁更改的列:
例如:
create table user_def ( id int primary key, email list< varchar > ); # stable
create table user_var ( id int primary key, state int ); # changes all the time
但是Cassandra似乎是为访问人烟稀少的列而优化的,所以我不确定在Cassandra模
我有一个Cassandra集群运行了相当一段时间(几个月),正如预期的那样,它每天都在消耗大量的数据。
在过去的几天里,集群出现了问题,因为其中一个节点不断崩溃,而我在日志中看不到多少。
值得注意的是以下警告,但我现在确定它是否相关:
insufficient space to compact all requested files. 846201.56MB required
比现有的要多得多。尽管如此,即使有足够的磁盘来支持这种压缩,它似乎是过度的,不是吗?
有人知道我的问题是什么吗?
谢谢你的关注。
我使用的令牌值:
initial_token: 85070591730234615865843651857942052864
当我试图启动Cassandra时,将导致以下Java异常:
Exception (java.lang.IllegalArgumentException) encountered during startup: Invalid token for Murmur3Partitioner. Got 85070591730234615865843651857942052864 but expected a long value (unsigned 8 bytes integer
我有一个3节点ApacheCassandra3.11.3生产集群,从2019年开始运行,现在它突然开始在system.log中抛出错误,如下所示。
快速的帮助和解决将不胜感激。
ERROR [CompactionExecutor:455628] 2022-10-14 05:50:14,602 CassandraDaemon.java:228 - Exception in thread Thread[CompactionExecutor:455628,1,main]
java.lang.IllegalStateException: Unable to compute ceiling for ma