问题标签 [cassandra-3.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 - Cassandra:批量写入优化
我收到批量写入请求,让我们说来自客户端的大约 20 个密钥。我可以将它们一次性写入 C*,也可以以异步方式单独写入,然后等待将来完成。
根据文档,批量编写似乎不是一个好的选择,因为我的插入率会很高,如果键属于不同的分区,协调员将不得不做额外的工作。
在datastax java驱动程序中是否有一种方法可以将可能属于同一分区的密钥分组,然后将它们分成小批量,然后以异步方式进行单独的未记录批量写入。这样我就可以减少对服务器的 rpc 调用,同时协调器必须在本地写入。我将使用令牌感知策略。
datastax - 无法启动 Cassandra - Snitch 的数据中心与以前不同
我试图在我的本地启动 DSE 5.0.1 Cassandra(单节点)。
出现以下错误:
CassandraDaemon.java:698 - 如果 snitch 的数据中心 (Cassandra) 与之前的数据中心 (Graph) 不同,则无法启动节点。请修复 snitch 配置,停用并重新启动此节点或使用标志 -Dcassandra.ignore_dc=true
solr - 无法使用 cassandra datastax 生成 solr 架构
我正在使用 datastax 企业 5.0.2,我想使用 solr
我试试这个:
dsetool create_core keyspace.table generateResources=true reindex=true
但我明白了:
当我尝试使用 lenient true 时,我也无法使其工作,因为我的主键有一个名为“type”的字节字段
任何线索如何解决这个问题?
我的表有 100 多个字段,很难手动生成
java - 如何选择同一分区键中的集群键?
我正在使用 cassandra CQL 3 创建一个类似的 oneToMany 关系,一个服务可能有不同的响应,并且响应属于一个服务。
我想知道是否有一个功能可以让我选择同一分区键中的集群键?
提前致谢!
cassandra - Cassandra 是否允许在 where 子句中使用用户定义的函数?
fStringToDouble
我创建了将字符串作为参数并返回双精度的用户定义函数。这个用户定义的函数在 select 语句中工作正常。
当我将此用户定义的函数放在 where 子句中时,出现语法错误"no viable alternative at input"
上面的查询有什么问题?是否有任何内置函数可以在 Cassandra 中将 String 转换为 Double?
node.js - 在 Cassandra node.js 驱动程序中使用中等大小的 fetchSize 时出现帧流错误
我对 Cassandra node.js 驱动程序有一个奇怪的问题。当我尝试从某些分区中选择数据时,我收到此错误。
这里有一些非常奇怪的行为。
- 较小的 s 不会发生这种情况
fetchSize
。例如,我可以始终使用 312 或更高的提取大小使其出错,但每次都使用 311 的提取大小。 - 它只发生在某些分区键上。到目前为止,它似乎正在影响最近添加的键。
- 在单个表中,for 的断点
fetchSize
是一致的。例如,我可以运行,SELECT * FROM TableX WHERE myKey = value1
或者两者都将在240SELECT * FROM TableX WHERE myKey = value2
时开始出错,比如说。fetchSize
但是对于TableY
,限制可能是 284。
我在这里真的有点不知所措。我怀疑这与从单个分区返回太多行有关,但我能够从其他分区获取大量数据(例如,fetchSize
20000 的 a 在大多数分区上都可以正常工作)。
重现该问题的简单代码是
database - Cassandra 中的地图冗余
输入:表格数据文件:每个文件都有可变数量的列,这些列名可能对文件是唯一的和/或在其他文件之间共享(事先未知)。预计此数据不会更改,因此插入会很频繁,但更新很少。列及其关联值可以是文本的或数字的。
请求的能力:能够通过标识或范围查询以检索给定列名和值的数据行。
数据模型:在CQL
我可以使用表示文件的特定单元格值的单个表格进行建模(在这种情况下是文本的,但可以为数字数据构建类似的表格)
例如,一个文件的内容可能是:
插入将是:
问题:我们确实有数据存储限制——在这个模型中,一行的每一列值的数据值是相同的,导致大量数据重复(这是一个简单的例子,但列数可能超过 100 列——这意味着地图可以复制数百次)。
问题: Cassandra 有什么方法可以避免这种类型的数据重复,而不必创建/查询第二个表(例如通过指向数据的指针或以某种方式将映射定义为不同的)?或者,用不同的方式对具有相同查询能力和结果的数据进行建模?
cassandra - 想要在生产中的 cassandra 集群上实现身份验证
我是 cassandra 的新手,我有一个 cassandra(3.5) 集群,它在没有身份验证的情况下运行,现在我想通过采用 aws AMI 在正在运行的集群上实现身份验证,并且我设置了 4 个新实例,如果我在 new 中启动 cassandra实例它造成了很多麻烦,由于相同的集群名称和令牌值,它与旧集群混合在一起,我试图更改集群名称,但如果我这样做了,那么整个集群可能会生效。请指导我如何在集群上实现身份验证没有任何麻烦。
python - 关于注册表中不存在的连接名称的 CQL 引擎异常
尝试使用在 Windows 2012 Server R2 - 64 位上运行的 Python Cassandra-Driver 客户端连接到 Cassandra DB 时出现以下异常。我可以在我的个人笔记本电脑上运行它,但不能在 Azure 上托管的机器上运行。我确定我缺少一些依赖项,但不确定它们是什么。
文件“C:\Python\Python35-32\lib\site-packages\cassandra\cqlengine\connection.py”,第 190 行,在 get_connection 中引发 CQLEngineException("Connection name '{0}' 在注册表中不存在。 ".format(name)) Cassandra.cqlengine.CQLEngineException: 注册表中不存在连接名称''。