问题标签 [cassandra-2.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cassandra-2.0 - 将数据批量加载到 Cassandra 时出现 NoHostAvailableException
我正在尝试将 100 万个 LUBM 数据集加载到 Cassandra 中。但是,在大约 200,000 次插入后,我不断收到此异常。
线程“主”com.datastax.driver.core.exceptions.NoHostAvailableException 中的异常:所有主机尝试查询失败(尝试:localhost/127.0.0.1(com.datastax.driver.core.exceptions.DriverException:超时期间读))
服务器还活着。我仍然可以使用 Datastax 开发中心执行 CQL 查询。在此之前,我收到了 WriteTimeoutException,因此我在 .yaml 中调整了一些选项
以下是我系统的规格:
CPU- Intel I5 - 2 核| 内存- 4GB | 硬盘 - 500 GB 4 个驱动器。
我有一个 OWL 文件,从中读取数据并将其插入 Cassandra。我有混合的工作量。有时,根据条件,我需要从行中检索数据并将新数据附加到其中并将其写入同一行。这一定不是导致此问题的原因,因为这种情况在 200k 插入期间一定发生了很多次。
我正在使用外部硬盘来存储提交日志。concurrent_reads 设置为 16。 concurrent_writes 设置为 32。 read_timeout 已设置为 10000,write_timeout 也是如此。MAX_HEAP_SIZE="2G" HEAP_NEWSIZE="200M"
一旦我得到帽子异常,我就会看到这个带有这种模式的日志
可能是什么问题呢?
cassandra - 如何使 Cassandra 具有特定行键的不同列键?
我正在阅读以下有关 Cassandra 的文章:
http://www.ebaytechblog.com/2012/07/16/cassandra-data-modeling-best-practices-part-1/#.UzIcL-ddVRw
这似乎意味着您可以在 cassandra 中为给定的行键使用不同的列键。真的吗?如果它是真的,你如何允许不同的行键。
我认为这可能是真的原因是因为假设我们有一个用户,它可以喜欢很多项目,我们只是希望 userId 是行键。我们让这个 rowKey (userID) 映射到特定用户可能喜欢的所有项目。每个特定用户可能喜欢不同数量的项目。因此,如果我们可以有多个列键,每个用户喜欢的每个 itemID 都有一个,那么我们可以这样解决问题。
因此,是否可以为特定的 rowKey 设置不同长度的 cassandra 列键?(你是怎么做的)
提供一个示例和/或一些 cql 代码会很棒!
让我感到困惑的是,我已经看到了一些 .cql 文件,它们事先定义了键空间,并且在如何使其动态化方面似乎非常不灵活,即允许它随意添加额外的列。例如:
这怎么能允许增长的列?我们不需要事先指定名称吗?或者应用程序需要的其他自定义列?
cassandra - Cassandra BatchStatement 行为 - datastax java 驱动程序
我想澄清一下 BatchStatement 的执行。
我已将许多针对不同表的插入/更新语句添加到批处理中。当我执行批处理时,我希望,如果任何一个查询失败,所有其他插入/更新都不应该成功。但它没有发生。我可以看到部分更新/插入。
我怎样才能做到这一点?[如果任何一个查询失败,则不应发生该批次的所有更新/插入。]
如何获取/打印导致批处理执行失败的确切问题查询?
LOGGED 批处理语句的目的是什么?
http://www.datastax.com/drivers/java/2.0/com/datastax/driver/core/BatchStatement.Type.html#LOGGED
在 BatchStatement 中启用跟踪的目的是什么?如何打印跟踪以调试查询问题?
http://www.datastax.com/drivers/java/2.0/com/datastax/driver/core/Statement.html#enableTracing%28%29
我的代码看起来像,
谢谢,
拉梅什
cassandra - Cassandra 中的原子批处理
批处理语句在 cassandra 中是原子的是什么意思?准确地说,文档在本质上有点令人困惑。这是否意味着查询在集群中的节点之间是原子的?
比如说,我有一个包含 100 个查询的批次。如果批处理中的第 40 个查询失败,那么批处理中执行的 39 个查询会发生什么?
我知道在后台创建了一个批处理日志,它将处理部分批处理的一致性。它是否删除了其余 39 个条目并提供了批处理查询所需的原子性质。
在 MYSQL 中,我们将 autocommit 设置为 false,因此我们可以回滚。在这些情况下,cassandra 会回滚吗?
cassandra - cas操作期间的cassandra cql一致性
我们想使用检查和设置操作,但我们不想让它传播到我们的数据中心之外。用例是我们希望只允许在一个数据中心添加新用户,但我们希望他们的数据可以从其他数据中心访问以用于读取目的。为此,我们希望使用 LOCAL QUORUM 和 LOCAL SERIAL 读取执行 CAS 操作。
这个问题与我们的问题有关:Cassandra: DC Local CAS
看起来问题已得到解决/修复,但我找不到如何使用 CQL 测试/指定此问题的示例。
- 是否可以在 CQL 中的 CAS 操作期间指定一致性?如何?
- 如果不是,CQL 中 CAS 期间使用的一致性是什么?
- 我们目前正在使用 DataStax C++ 进行编程查询。这可能来自那个API吗?
python - Cassandra中的行排序
我在 Cassandra 2.0.5 中有以下列族,使用Murmur3Partitioner
. 在这个列族中,我存储了一个时间范围内唯一散列的幻影数量(从随时间发生的事件中提取的散列 - 并不真正相关)。
hour
我的用例是选择给定时间范围(字段)内的所有哈希值及其计数。
由于数据量可能非常大,我尝试进行分页,例如使用LIMIT
并从最后返回的哈希继续,如下例所示。它似乎有效,因为哈希似乎以升序排序返回。
有人可以解释这是否真的有效,为什么?特别是因为我发现这个链接表明这些行是......没有排序的,所以现在我考虑一下,应该随机返回散列。
我确实通过使用分页方法和COUNT
在 cqlsh 中使用来计算行数来验证该过程,但是由于大量数据,我无法真正检查是否返回了所有正确的哈希值。
cassandra - 如何快速从 Cassandra 中查询和提取最大值?
如果我希望能够快速查询 Cassandra 中的表并从中提取最大值,应该如何为其设计列族?
例如,如果我有一个人 ID 为的表,并且我还为每个人存储他们的速度,我如何设计表以便我可以尽可能快地查询最慢的人?
我们需要将速度作为主键吗?或者在上面创建一个索引什么的?
在这个例子中,我怎么知道什么时候选择二级索引而不是主键?
是否可以通过将速度作为二级索引来提取最慢的前 k 个人?
我想我的问题也试图解决 Casssandra 中的事情是如何排序的。
cassandra - 如何让 cassandra 将值的元组存储在一行中,而不实际存储列表?这甚至可能吗?
我正在阅读以下有关使用 cassandra 数据建模的博客:
http://www.ebaytechblog.com/2012/07/16/cassandra-data-modeling-best-practices-part-1/#terms
我试图了解如何使用 CQL 命令实现或实际执行其中的一些内容。
我对博客/教程中选项 3 部分的以下图片感兴趣。
我主要对实现底部的两个感兴趣。
在左下角的图片中,行键是项目 ID,列是喜欢该项目的用户。在本教程中,它展示了如何将一个用户存储在密钥中,有点像名称和用户 ID 的元组。如何在 CQL 中做到这一点?令我困惑的是,对于一个用户,该表能够在一行中为其存储两列值(即它存储用户 ID 和用户名)。我有点困惑,实际上这对 Cassandra 是怎么可能的。从概念上讲,这对我来说是有意义的,但是,我不确定我是否了解如何让 cassandra 真正做到这一点。
sorting - 如何快速检索 Cassandra 表中的排序值?
我正在阅读以下教程:
http://www.ebaytechblog.com/2012/07/16/cassandra-data-modeling-best-practices-part-1/#terms
其中一个解释是下图:
它说行按行键排序,列按列键排序。
这是否意味着列按列值排序而行键按行值排序?例如,如果我的第 1 行的值是 10、2、30、4(所有整数),它会将该键的列排序为 2、4、10、30?
同样对于行,如果我们有 11、22、3、44,它会将行排序为 3、11、22、44?
我只是对按列排序意味着什么感到困惑。
我有兴趣澄清这一点的原因是,如果我可以对我插入的值进行排序,那对我来说将非常方便,因为我不必在列中插入排序列表。
cassandra - 如何列出键空间中的列族?
如何使用 CQL 3 获取 Cassandra 中键空间中所有列族的列表?