问题标签 [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.

0 投票
1 回答
1357 浏览

java - 如何仅检索从 Cassandra 更改的信息?

我正在为以下用例设计 Cassandra 列族模式。我不确定为以下用例设计 cassandra 列族的最佳方法是什么?我将为此使用 CQL Datastax Java 驱动程序。

下面是我的用例和我现在设计的示例模式 -

现在我将从上表中看到的是这样的 -

  1. 每当我的应用程序运行时,我第一次会要求上表中的所有内容.. 意思是给我上表中的所有内容..
  2. 然后每隔 5 或 10 分钟,我的后台线程将检查此表,并要求给我所有已更改的内容(如果该行有任何更改,则为整行)..这就是我使用时间戳的原因之一这里的专栏..

但是我不确定如何设计查询模式,以便我的两个用例都能轻松满足,以及为此设计表的正确方法是什么?这里 SCHEMA_ID 将是我想使用的主键......

我将为此使用 CQL 和 Datastax Java 驱动程序。

更新:-

如果我使用这样的东西,那么这种方法有什么问题吗?

因为,在我的这个用例中,我不希望任何人每次都插入相同的SCHEMA_ID内容..SCHEMA_ID每当我们将任何新行插入此表时都应该是唯一的.. 因此,对于您的示例(@omnibear),有人可能会这样做可以两次插入相同的 SCHEMA_ID 吗?我对么?

并且还考虑type到您已将其作为额外的列,该类型列可以record_name在我的示例中。

0 投票
2 回答
5488 浏览

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 驱动程序时也应该有一些最佳设置或推荐?

0 投票
3 回答
93229 浏览

cassandra - 使用命令行时如何使用 CQL 获取当前时间戳?

我正在尝试从命令行插入我的 CQL 表。我能够插入所有内容。但我想知道我是否有时间戳列,那么如何从命令行插入时间戳列?基本上,每当我插入我的 CQL 表时,我都想插入当前时间戳 -

目前,每当我插入下面的 CQL 表时,我都会对时间戳进行硬编码 -

有没有办法使用 CQL 中的一些预定义函数获取当前时间戳,以便在插入上表时,我可以使用该方法获取当前时间戳,然后插入上表?

0 投票
0 回答
410 浏览

hadoop - 在 Hadoop MapReduce 任务中建立 Cassandra 连接

在我开始 MapReduce 作业之前,我成功地使用DataStax Java 驱动程序访问了我的 Java 代码中的 Cassandra。

但是,我需要检查其他信息以根据每条记录决定如何减少记录。如果我尝试在 Hadoop Reducer 类中使用相同的代码,则无法连接并出现错误:

MapReduce 输入和输出将成功读取和写入 Cassandra。正如我所提到的,我可以在运行作业之前进行连接,所以我认为这不是 Cassandra 服务器的问题。

0 投票
2 回答
3922 浏览

cassandra - NoClassDefFoundError - Cassandra 的 datastax java 驱动程序

我目前无法使用 datastax 驱动程序连接到我的 cassandra 数据库。我收到以下错误:

但是,我已将guava人工制品包含在pom.xml以下内容中:

完整pom.xml: http: //pastebin.ubuntu.com/6358603/

我是否缺少依赖项?

0 投票
1 回答
1482 浏览

java - 使用 Datastax CQL 驱动程序插入 Cassandra 时设置 TTL

谁能给我一个提示,为什么这不起作用?它似乎没有设置 TTL;这些列永远不会被删除。但是,在 cqlsh 中使用 INSERT INTO 确实可以,因此 Cassandra 本身没有任何问题。

(Cassandra v2.0.0,驱动程序 v1.0。)

0 投票
2 回答
2294 浏览

java - 用于基于 maxTimeuuid 和 minTimeuuid 的查询的 Java API

使用基于 maxTimeuuid 和 minTimeuuid 的查询的 Java API 是什么?我在 QueryBuilder 或其他任何地方都找不到。我正在使用 DataStax 客户端

表“a”有 2 列:1. String 类型的 id 2. TimeUuid 类型的 LMD

这就是我正在做的事情,看起来不对,当然也行不通

任何指针都非常感谢

谢谢

0 投票
1 回答
690 浏览

java - Cassandra CQL 表插入和索引问题

我在我们的用例中使用下表 -

在我上面的表中,employee_id 总是从 1 到 32767 是唯一的。所以我们的查询模式是这样的:

  1. 给我任何employee_id的一切?
  2. 给我过去 5 分钟发生的变化的一切?
  3. 给我任何employee_name的一切?

我会将以下数据插入上表 -

我能够执行上述所有查询模式,但仍然存在一个问题。


我的问题是关于避免以下查询的这种特殊情况。如果,不知何故错误地尝试执行下面的查询。如果他们这样做,它将创建另一行,其中employee_id 为 1 和其他字段?如果 Cassandra 数据库中已经存在相同的employee_id,我不希望任何人再次插入它。

有什么想法吗?我知道这是一个有争议的情况,因为关于使用 RDBMS 与 Cassandra 的争论

而且在employee_name上创建索引会导致任何问题吗?在我的示例中,相同的employee_name 可以有多个employee_id 但具有不同的值。请记住,它employee_id不会大于32767so,这意味着最大行数将32767在上表中。

我正在运行 Cassandra 1.2.9

0 投票
2 回答
468 浏览

java - DataStax Java Driver 能否在 EE 容器中安全使用?

该类的文档com.datastax.driver.core.Session指出

(...) 每个会话维护到集群节点的多个连接 (...)

然而,EE 环境的一般建议是将池和线程管理留给容器。

在我看来,主要针对 EE 环境的 DataStax 驱动程序违反了此规则。这让我担心驱动程序是否可以在我的 EE 应用程序中安全使用。

0 投票
1 回答
1300 浏览

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 的选项蜂巢