问题标签 [datastax-java-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.
groovy - 使用 Datastax 和 CQL 在 Cassandra 中获取随机行
我是 NoSQL n00b,只是尝试一下。我在 cassandra 2.0.2 中有以下带有单个表的键空间
我在 Persons 表中有近 500 个条目。我想从表中选择任何随机行。在 CQL 中有没有一种有效的方法来做到这一点?我正在使用 groovy 调用 datastax 公开的 API。
datastax-enterprise - org.jboss.netty.channel.ChannelPipelineException:无法初始化管道
我有一个使用 Java 驱动程序连接到 Cassandra 的应用程序,获取一些配置并根据结果生成并执行一些 PIG 脚本。
现在,当 PIG 所需的 jar 不在类路径中时,我能够成功连接到 Cassandra。同样,当我没有使用 java 驱动程序连接到 Cassandra 来检索配置时,我能够启动 PigServer 类并使用整个 DSE 堆栈执行脚本/语句。
当我同时使用它们时,我得到以下异常:
我看到其他人看到了类似的异常,但是在尝试从 MapReduce 任务执行 Cassandra 语句时,这不是我的情况: https ://groups.google.com/a/lists.datastax.com/forum/#!topic/ java-driver-user/FhW_8e4FyAI http://www.datastax.com/dev/blog/the-native-cql-java-driver-goes-ga#comment-297187
谢谢!
cassandra - 登录集群时,Datastax Java 驱动程序无法针对 Cassandra PasswordAuthenticator 进行身份验证
使用如下所示的小型测试 Java 程序,我可以登录到单个 Cassandra 2.0.1 节点并执行没有错误的查询:
正如预期的那样,提供错误的密码失败并出现“用户名和/或密码不正确”错误。
但是,当使用正确的凭据对属于三节点集群的节点尝试相同的程序时,我收到一条有点令人困惑的“缺少必需的密钥'用户名'”消息:
为什么会这样?
凭据是正确的,因为提供相同的凭据可以正常cqlsh
工作:
测试程序代码:
cassandra - 关于如何在 DataStax java 驱动程序中使用 map cql 类型的示例
我正在尝试使用 datastax java 驱动程序来更新和查询具有映射字段的列族。有没有人举例说明如何将 cql 集合与 Datastax Java 驱动程序一起使用?
谢谢
java - 使用 DataStax Java 驱动程序 1.0.4 通过 CQL 连接到 Cassandra 时出现异常
我的笔记本电脑上运行着 Cassandra 1.2.11。我可以使用它连接到它nodetool
,cqlsh
但是当我尝试使用 DataStax 1.0.4 Java API 使用 CQL 3.0 进行连接时,我收到以下错误:
我正在使用以下代码进行连接,取自 DataStax 文档。我尝试了几个端口号,包括将withPort()
呼叫留在外面,但似乎没有任何效果。
使用telnet
我可以验证 Cassandra 服务器是否确实在侦听我指定的每个端口。我还验证了所有必需的库 jar 文件都在我的类路径中,如文档中所述。
java - Cassandra Datastax 驱动程序 - 连接池
我正在尝试了解 Datastax Cassandra Driver 中的连接池,以便更好地在我的 Web 服务中使用它。
我有 1.0 版的文档。它说:
Java 驱动程序使用异步连接,因此可以在同一连接上同时提交多个请求。
他们对连接的理解是什么?当连接到一个集群时,我们有:一个Builder、一个Cluster和一个Session。其中哪一个是连接?
比如有这个参数:
maxSimultaneousRequestsPerConnection - 到主机的所有连接上的同时请求数,之后创建更多连接。
因此,在连接池的情况下(这是我所期望的),这些连接是自动创建的。但究竟是什么联系?集群对象?会议?
我正在尝试决定在我的网络服务中保持“静态”的内容。目前,我决定让 Builder 保持静态,因此对于每次调用,我都会创建一个新的集群和一个新的会话。这个可以吗?如果集群是连接,那么应该没问题。但是是吗?现在,记录器说,对于每个呼叫:
2013:12:06 12:05:50 DEBUG Cluster:742 - 使用接触点启动新集群
2013:12:06 12:05:50 DEBUG ControlConnection:216 - [控制连接] 刷新节点列表和令牌映射
2013:12:06 12:05:50 调试 ControlConnection:219 - [控制连接] 刷新模式
2013:12:06 12:05:50 DEBUG ControlConnection:147 - [控制连接] 成功连接到...
那么,它每次都连接到集群吗?这不是我想要的,我想重用连接。
那么,连接实际上是Session?如果是这种情况,我应该保持集群静态,而不是生成器。
我应该调用什么方法,以确保尽可能重用连接?
java - 使用 CQL 3.0 在集合上创建自定义索引
我一直在查看 CQL 3.0数据建模文档,该文档描述了带有标签的歌曲列族,创建如下:
我想获取所有具有特定标签的歌曲的列表,所以我需要添加一个适当的索引。
我可以很容易地在列上创建索引title
,但是如果我尝试索引tags
作为集合的列,如下所示:
我从 DataStax Java 驱动程序 1.0.4 收到以下错误:
根据 JIRA 问题CASSANDRA-4511,这看起来可能会在更高版本的 Cassandra (2.1) 中得到修复。但是,我目前正在使用 Apache Cassandra 1.2.11,并且还不想升级。不过根据问题CASSANDRA-5615,在 Cassandra 1.2.6 中,支持集合上的自定义索引。
问题是,唯一可用的文档指出:
Cassandra 支持创建自定义索引,仅供内部使用,超出本文档的范围。
但是,它确实建议使用以下语法:
class_name
此 CQL 语句中指定的内容是什么?
有没有更好的方法来索引标签,以便我可以在歌曲表中查询具有特定标签的歌曲列表?
java - InvalidTypeException:CQL 类型文本的值 1 的类型无效,期望类 java.lang.String 但类 [Ljava.lang.Object; 假如
我正在尝试使用 Datastax Java 驱动程序插入 Cassandra 数据库。但是每次我在线路上遇到异常时prBatchInsert.bind
-
下面是我的方法,它接受作为userId
输入和包含attributes
Map
key
作为我Column Name
的值作为该列的实际值
我在这里做错了什么?有什么想法吗?
java - Cassandra NoHostAvailableException 仍然存在节点
我在一个 DC 中有两个 C* 2.0.2 节点(在 cassandra.yaml 中有默认配置)和一个 RF=2 的键空间。两个客户端使用 Datastax Java 驱动程序 1.0.3 连接到此 DC。客户端使用 CL=ONE 从/向 C* 读取和写入数据,没有任何错误。但是当我关闭一个节点时,两个客户端都会出现大量异常:
在那一堆异常之后,客户端继续成功地与另一个仍然活着的节点一起工作。我应该怎么做才能收到任何 NoHostAvailableException 因为一次至少有一个活动节点并且使用了 CL=ONE?
更新: 当我关闭两个节点之一时,有时会在我的应用程序日志中看到以下异常:
如果我只关闭一个节点,为什么两个节点都不可用?第二个现在还活着,我可以用 cqlsh 连接到它。
cassandra - 使用 SSTableLoader 将批量数据插入 cassandra 后需要采取哪些必要步骤?
卡桑德拉的新手在这里。
我通过从 CSV 文件创建 SSTables 将 5000 万条记录插入到 cassandra,然后使用 SSTableLoader 将它们加载到数据库中。是否需要采取任何后 SSTableLoader 步骤?例如:做一个节点工具修复..等
我面临的问题是,当我尝试通过二级索引查询时,我无法检索一些记录,即使在查询所有记录时该记录显示在列表中。
例如:select * from columfamily limit 50
然后,当我使用 value2 作为二级索引从其中一条记录中查询时,它将返回 0 行。
任何帮助深表感谢!