问题标签 [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.
java - 如何仅检索从 Cassandra 更改的信息?
我正在为以下用例设计 Cassandra 列族模式。我不确定为以下用例设计 cassandra 列族的最佳方法是什么?我将为此使用 CQL Datastax Java 驱动程序。
下面是我的用例和我现在设计的示例模式 -
现在我将从上表中看到的是这样的 -
- 每当我的应用程序运行时,我第一次会要求上表中的所有内容.. 意思是给我上表中的所有内容..
- 然后每隔 5 或 10 分钟,我的后台线程将检查此表,并要求给我所有已更改的内容(如果该行有任何更改,则为整行)..这就是我使用时间戳的原因之一这里的专栏..
但是我不确定如何设计查询模式,以便我的两个用例都能轻松满足,以及为此设计表的正确方法是什么?这里 SCHEMA_ID 将是我想使用的主键......
我将为此使用 CQL 和 Datastax Java 驱动程序。
更新:-
如果我使用这样的东西,那么这种方法有什么问题吗?
因为,在我的这个用例中,我不希望任何人每次都插入相同的SCHEMA_ID
内容..SCHEMA_ID
每当我们将任何新行插入此表时都应该是唯一的.. 因此,对于您的示例(@omnibear),有人可能会这样做可以两次插入相同的 SCHEMA_ID 吗?我对么?
并且还考虑type
到您已将其作为额外的列,该类型列可以record_name
在我的示例中。
java - Cassandra Java 驱动程序仅写入本地数据中心的最佳设置
我最近开始为我们的 Cassandra 用例使用 Datastax Java 驱动程序......我们将使用 Datastax Java 驱动程序来读取/写入 Cassandra......
我能够使用 Datastax Java 驱动程序成功创建 Cassandra 连接......但我想知道,在与 Cassandra 建立连接时,我应该在生产环境中使用哪些其他设置来使用 Datastax Java 驱动程序获得更好的性能?
我的首要任务是:-
- 根据本地数据中心过滤掉 Cassandra 节点。因此在连接池中它将只有本地数据中心 Cassandra 节点。
- 并在某些设置下使用 Datastax java 驱动程序时获得最佳性能。
我知道某些设置可能会在不同的环境中有所不同,但在使用 Datastax Java 驱动程序建立 Cassandra 连接时,每个人都必须遵循一些设置才能获得最佳性能。
就像我之前在 Astyanax 中使用的示例一样,您需要使用 TOKEN_AWARE ...
那么在使用 Datastax java 驱动程序时也应该有一些最佳设置或推荐?
cassandra - 使用命令行时如何使用 CQL 获取当前时间戳?
我正在尝试从命令行插入我的 CQL 表。我能够插入所有内容。但我想知道我是否有时间戳列,那么如何从命令行插入时间戳列?基本上,每当我插入我的 CQL 表时,我都想插入当前时间戳 -
目前,每当我插入下面的 CQL 表时,我都会对时间戳进行硬编码 -
有没有办法使用 CQL 中的一些预定义函数获取当前时间戳,以便在插入上表时,我可以使用该方法获取当前时间戳,然后插入上表?
hadoop - 在 Hadoop MapReduce 任务中建立 Cassandra 连接
在我开始 MapReduce 作业之前,我成功地使用DataStax Java 驱动程序访问了我的 Java 代码中的 Cassandra。
但是,我需要检查其他信息以根据每条记录决定如何减少记录。如果我尝试在 Hadoop Reducer 类中使用相同的代码,则无法连接并出现错误:
MapReduce 输入和输出将成功读取和写入 Cassandra。正如我所提到的,我可以在运行作业之前进行连接,所以我认为这不是 Cassandra 服务器的问题。
cassandra - NoClassDefFoundError - Cassandra 的 datastax java 驱动程序
我目前无法使用 datastax 驱动程序连接到我的 cassandra 数据库。我收到以下错误:
但是,我已将guava
人工制品包含在pom.xml
以下内容中:
完整pom.xml
: http: //pastebin.ubuntu.com/6358603/
我是否缺少依赖项?
java - 使用 Datastax CQL 驱动程序插入 Cassandra 时设置 TTL
谁能给我一个提示,为什么这不起作用?它似乎没有设置 TTL;这些列永远不会被删除。但是,在 cqlsh 中使用 INSERT INTO 确实可以,因此 Cassandra 本身没有任何问题。
(Cassandra v2.0.0,驱动程序 v1.0。)
java - 用于基于 maxTimeuuid 和 minTimeuuid 的查询的 Java API
使用基于 maxTimeuuid 和 minTimeuuid 的查询的 Java API 是什么?我在 QueryBuilder 或其他任何地方都找不到。我正在使用 DataStax 客户端
表“a”有 2 列:1. String 类型的 id 2. TimeUuid 类型的 LMD
这就是我正在做的事情,看起来不对,当然也行不通
任何指针都非常感谢
谢谢
java - Cassandra CQL 表插入和索引问题
我在我们的用例中使用下表 -
在我上面的表中,employee_id 总是从 1 到 32767 是唯一的。所以我们的查询模式是这样的:
- 给我任何employee_id的一切?
- 给我过去 5 分钟发生的变化的一切?
- 给我任何employee_name的一切?
我会将以下数据插入上表 -
我能够执行上述所有查询模式,但仍然存在一个问题。
我的问题是关于避免以下查询的这种特殊情况。如果,不知何故错误地尝试执行下面的查询。如果他们这样做,它将创建另一行,其中employee_id 为 1 和其他字段?如果 Cassandra 数据库中已经存在相同的employee_id,我不希望任何人再次插入它。
有什么想法吗?我知道这是一个有争议的情况,因为关于使用 RDBMS 与 Cassandra 的争论
而且在employee_name上创建索引会导致任何问题吗?在我的示例中,相同的employee_name 可以有多个employee_id 但具有不同的值。请记住,它employee_id
不会大于32767
so,这意味着最大行数将32767
在上表中。
我正在运行 Cassandra 1.2.9
java - DataStax Java Driver 能否在 EE 容器中安全使用?
该类的文档com.datastax.driver.core.Session
指出
(...) 每个会话维护到集群节点的多个连接 (...)
然而,EE 环境的一般建议是将池和线程管理留给容器。
在我看来,主要针对 EE 环境的 DataStax 驱动程序违反了此规则。这让我担心驱动程序是否可以在我的 EE 应用程序中安全使用。
cassandra - 如何使用 hive 在列族中设置 ttl
我正在为 Cassandra 使用 Datastax 并在 CFS 之上,我尝试使用 Hive.Cassandra 加载数据,在插入和更新时在列级别具有 TTL(生存时间)。我的问题是我们如何在加载时实现相同的 TTL使用 Hive 将数据放入 Column Family 中。有没有办法为 ColumnFamily 指定 TTL 或从 hive 加载时?
示例(来自 datastax 网站的参考):cqlsh:demodb> INSERT INTO users (user_name, password) VALUES ('cbrown', 'ch@ngem4a') USING TTL 86400;
cqlsh:demodb> UPDATE users USING TTL 432000 SET 'password' = 'ch@ngem4a' WHERE user_name = 'cbrown';
注意:要求是在一段时间后清除数据。Cassandra 可以选择使用 TTL 来执行此操作,但我正在尝试使用 Hive 加载数据。因此,寻找在列系列级别或通过加载时指定 TTL 的选项蜂巢