问题标签 [cassandra-driver]

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.

0 投票
0 回答
201 浏览

node.js - Cassandra 中的手动分页

我使用 Cassandra 中的手动分页功能。

假设我们在表“测试”中有 4 行/条目。

当我尝试使用 fetchsize 作为 '2' 进行查询时,它返回两个带有 result.pageState 的条目,然后我使用相同的 pageState 来查询下一页并成功获取。

但问题是

由于总条目为 4 且获取大小为 2,因此在获取下一页中,我希望 pageState 的第 3 和第 4 条目为空(因为没有更多可用条目)但是,它返回第 3 和第 4 条目与另一个页面状态。

1)在这种情况下:收到的页面状态是下一个值的页面状态(或)最后收到的值的页面状态吗?AFAIK 这是最后收到的值的(第 4 个条目)页面状态,因此为了确定我们到达了最后一个条目,我总是再打一次电话(result.nextpage),如果它未定义,那么我认为没有更多条目可用,我觉得为每个分页再打一个电话是不明智的。

2)如何在不进行result.nextpage检查的情况下识别我们到达了终点。

0 投票
1 回答
603 浏览

python - 无法使用 Python cassandra-driver 查询特定的 UUID

我正在尝试使用 Python 包 cassandra-driver 从我的 cassandra 数据库中提取特定值。我对数据结构没有影响。

我的 Python 脚本

给出以下输出:

我现在要做的是这样的查询:

这给了我以下错误:

cassandra.InvalidRequest:来自服务器的错误:代码 = 2200 [无效查询] 消息 =“对函数 system.uuid 的调用中的参数数量无效:需要 0,但提供了 1”

查询似乎调用了系统函数uuid。我知道entity_id是 的类型,uuid但我不知道如何在我的查询中使用session.execute.

我用了:

  • 卡桑德拉版本 3.11.2

  • Python 版本 3.6.3

任何想法都非常感谢!谢谢。

0 投票
1 回答
2861 浏览

python - 关闭 cassandra 集群和会话时的问题

卡桑德拉 2.1.15.1403 | DSE 4.8.9

Cassandra 驱动程序测试:2.1.2 和 3.1.7

我们正在使用 python 脚本来迁移我们其中一个表中的一些数据。完成此操作后,我们将使用以下方法关闭连接:

我们在集群关闭时得到以下异常:

如果我们删除 session.shutdown 它工作正常。有人对此有任何想法吗?

0 投票
2 回答
2148 浏览

node.js - 使用数组查询 cassandra 数据库

我正在尝试查询我的 cassandra 数据库以从阵列服务器端保存的名称列表中返回数据。这被保存为一个数组。我知道我正在访问的数据作为字符串存储在我的数据库中,所以我在它周围附加了单引号(我尝试过有和没有这个但没有运气)。

这是我的查询。

我在这里想念什么?我希望查询是:

0 投票
1 回答
702 浏览

python - 哪个 Cassandra 驱动程序最适合使用 aiohttp?

问题是哪个 Cassandra python 驱动程序更适合与 aiohttp Web 框架一起使用。

目前,有两种可能的候选人:

  1. DataStax的 cassandra 驱动程序
  2. 艾奥卡珊德拉

问题是,cassandra-driver 似乎更受欢迎并且有更多的支持。但另一方面它不支持 asyncio(实验性的不稳定实现),而 asyncio 对于运行 aiohttp 网络服务器至关重要。

Aiocassandra 不那么受欢迎,这里的维护+支持是一个问题。

那么 aiocassandra 的性能是否比 cassandra-driver 好,就正常运行时间、性能和支持而言,最佳选择是什么?

0 投票
1 回答
110 浏览

cassandra - 用于 java 的 DSE cassandra 驱动程序在异步模式下仅返回部分结果

使用 dse cassandra driver 3.1.4 for java 从 cassandra 获取时,我只得到部分行集。此外,此查询与我们使用的早期版本的驱动程序一起工作正常。早期版本是 2.1.9

表结构是这样的

当我使用异步调用查询多行时,大多数时候我只得到一行。有时在调试时我也会得到另一行。

行为是随机的,但我总是得到第二行或两者。我从来没有只拿到第一排,所以我认为这在这里也有一些作用。

有没有办法确保我每次都得到所有的行?

0 投票
1 回答
882 浏览

python - Python cassandra 驱动程序 Readtimeout

每次我尝试使用 cassandra python 驱动程序获取查询时,都会收到这样的异常:

为避免此异常,我已经尝试将默认超时设置为无,例如:

但是,它们从未真正更改 Readtimeout 期间。

需要注意的一点是,当我在 Squrriel 中执行此查询命令时,它不会花费太长时间,大约 1.5 秒。

有谁知道如何解决这个问题?谢谢!

0 投票
1 回答
240 浏览

java - Cassandra drop keyspace 在为 executeAsync 指定的超时之前抛出 timeoutexception

OperationTimedOutException在删除键空间时得到了 cassandra。尽管我已经给了60000 毫秒(1 分钟) timeOut的时间来阻止,直到我Future从 cassandra 获得对象executeAsync。但它立即抛出timeoutexception 而没有等待完成 1 分钟。

这就是我使用java删除键空间的方式 -

您可以看到下面给出的行,我在其中强行告诉呼叫等待至少 60 秒,但即使在此之前,我得到了TimeOutException.

我不确定这是否是以编程方式增加超时的正确方法。如果有其他好的方法,请告诉我。

0 投票
0 回答
1790 浏览

c# - Cassandra - “第 0:-1 行在输入时没有可行的替代方案”'" 与 "映射。删除“ 方法

当我们尝试使用方法删除时Cassandra.Mapping.Delete<T>,应用程序会在执行时抛出错误:

在此处输入图像描述

这是应用程序上的“实体(POCO)”类:

在此处输入图像描述

Cassandra 数据库中的表结构:

在此处输入图像描述

完整的异常描述:

System.Private.CoreLib.dll 中出现“Cassandra.SyntaxError”类型的异常,但未在用户代码中处理:“第 0 行:-1 在输入处没有可行的替代方案”

在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Cassandra.Requests.PrepareHandler.d__6.MoveNext() 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Cassandra.Requests.PrepareHandler.d__4.MoveNext()在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Cassandra.Session.d__54.MoveNext() 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System .Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Cassandra.Mapping.Statements.StatementFactory.d__8.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo。Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Cassandra.Mapping.Mapper.d__38.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Cassandra.Tasks.TaskHelper.WaitToComplete(任务任务,Int32 超时)

怎么了?

仅供参考:这些链接不能解决这个问题:

SO:查询cassndra表时出现“输入时没有可行的替代方案”错误

SO:Cassandra“在输入方面没有可行的替代方案”

[解决了]

感谢@jorgebg,我们忘记在“实体”映射类上指定分区键。

在此处输入图像描述

0 投票
1 回答
891 浏览

java - 未能创建子事件循环/未能打开新的选择器/打开的文件太多

当有 30 个或更多并发请求时,我收到诸如“无法创建子事件循环/无法打开新选择器/打开的文件太多”之类的错误......如何解决上述错误?我做错什么了吗?我正在使用 Spring boot 和 Java cassandra 驱动程序。下面是连接文件

}

下面是我在 Connection 文件中使用的 ConnectionBean 文件:

}

下面是初始化 ConnectionBean 变量的类:

}

最后,下面是我查询 cassandra 数据的类:

}