问题标签 [hector]

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 回答
4423 浏览

cassandra - 使用 Hector 通过 cassandra 的键检索一行

我正在插入 CF 并且一切正常,我还可以使用简单的 cassandra-cli 从 cassandra-cli 读取整行

每列的键是一个 timeUUID:

CF的部分描述:

我们还更改了密钥验证类以使用 BytesType UTF8Type 和 TimeUUIDType 进行测试。

作为 Java 的 cassandra 客户端,我使用的是 Hector。

当我试图在知道它是 id 的情况下获得一行时,我无法检索任何东西。

例子:

结果是以下异常:

我还尝试使用 StringSerializer 作为 sliceQuery 定义中的 keySerializer,但我没有得到异常但没有结果。

我想我的问题基本上是“如何通过键检索行查询?” :)

似乎这可能是一个愚蠢的问题,但让我疯狂了几天。

0 投票
1 回答
1970 浏览

cassandra - 计数列,非常慢的 CountQuery 与 SliceQuery 操作

我编写了一个“人口普查”程序来遍历列族中的所有行,并在每一行中计算列,记录最大值和行键。我在 Hector 客户端上花费了更多时间,但也编写了一个 Pelops 客户端进行测试。

基本流程是使用 RangeSlicesQuery 遍历行,然后在每一行,使用 SliceQuery 遍历并收集统计信息。在 Pelops 中的工作方式类似,只是 API 不同。缺点是必须手动进行缓冲,为行和列选择缓冲区大小......我当前的数据是 1200 万行,最大列数 ~25K,所以是的需要一段时间......在我目前的配置中,我得到> 每秒 25K 行。

寻找改进和发现 Hector 的 CountQuery 的方法(我假设它使用 Thrift 客户端 get_count())。认为只迭代键(使用 RangeSlicesQuery.setReturnKeysOnly())会更快,然后在每个行键上重新使用 CountQuery,我修改了代码。

它不仅慢,而且慢了 30 倍!(每秒仅处理 900 行)...

有没有更好的方法来计算列?

0 投票
1 回答
1937 浏览

cassandra - Hector 是否提供 API 来支持复合键?

现在,我必须通过将子键格式化在一起来手动生成复合键。这很丑陋而且效率不高。我想知道 Hector 是否提供了这样一组 API 来以更体面的方式处理复合键。

0 投票
2 回答
2354 浏览

cassandra - 如何在 Cassandra 中添加数据?

我正在编写简单的 java 程序来将数据插入 Cassandra。可以仅使用 hector API 通过 java 代码完成吗?还是需要从 jconsole 加载 yaml 文件?

我正在使用 cassandra 0.8.5,当我执行 jsoncole 时,我看不到来自 yaml 操作的负载。

因此寻找一种将模式以及数据从 java 程序加载到 cassandra 的方法。

谢谢,高拉夫

0 投票
1 回答
840 浏览

cassandra - Cassandra 客户端 - 将列检查为字符串

我是 Cassandra 的新手,我正在使用 Hector Java Client 进行写入/读取。

我有以下代码来插入值 -

现在,当我通过 Hector 客户端取回值时 - 它可以正常工作 -

但是,当我尝试从命令行 cassandra 客户端获取值时,我以字节而不是人类可读的字符串格式获取数据。有没有办法让我解决这个问题,以便我可以使用 cassandra 客户端吐出字符串 -

这是示例输出 [default@keyspaceUno] 列表 StandardUno ;

使用默认限制 100

RowKey:6a736d697468 =>(列=6669727374,值=4a6f686e,时间戳=1317183324576000)=>(列=6c617374,值=536d697468,时间戳=1317183324606000)

返回 1 行。

谢谢。

0 投票
1 回答
1012 浏览

cassandra - ThriftColumnFamilyTemplate 用于查询超列族及其列

我有一个超级列族的 cassandra 数据模型。有多个超级列,每个超级列都有多个不同类型的列(例如数量是整数,ID 是长整数,名称是字符串)。我可以使用 ThriftSuperCfTemplate 查询一行的所有超级列的名称。但是,我无法检索超级列的列的名称/值。我想知道是否有可用的样品?

0 投票
1 回答
3585 浏览

cassandra - cassandra DB 的 Hector API 中的 SliceQuery 抛出 HInvalidRequestException:InvalidRequestException(为什么:Key 可能不为空)

我将用户名和密码作为 ColumnFamily 的列,以用户名作为键。

使用比较器创建列族 TestUserInfo = UTF8Type with column_metadata = [{column_name: username, validation_class:UTF8Type}, {column_name: password, validation_class:UTF8Type} ];

当密钥存在于数据库中时,以下代码可以正常工作。而当密钥不存在时抛出me.prettyprint.hector.api.exceptions.HInvalidRequestException: InvalidRequestException(why:Key may not be empty) 。

你能告诉我哪里出错了吗?或者这是预期的行为?如果是这样,那么我如何检查空结果?假设我正在检查来自 db 的登录信息。那么如果用户名(键)不在数据库中,那么我需要得到一个空结果对吗?

谢谢!

0 投票
1 回答
4905 浏览

cassandra - 如何使用 cql 查询通过 java 客户端 hector 从 cassandra 中获取不同的数据类型

我是 cassandra 和 hector 的新手,所以我正在尝试执行 cql 查询,但问题是并非所有列都是字符串类型,所以我如何执行查询“select * from users”?

我的列族如下所示:

我使用以下代码来执行查询:

但是由于验证类 Long 的“birth_year”列,我无法获得该值。假设只有一条记录,我得到以下结果:

如果我将查询更改为:

比它有效。

那么如何只使用一个查询来做到这一点,如果我在列族的行中有更多的数据类型(如布尔值和浮点数)怎么办?

0 投票
1 回答
911 浏览

cassandra - Hector 为 super cf 的子列做 incrementCounter

目前,mutator 似乎只适用于标准 cf。是否有任何其他方法可以在超级 cf 的子列上执行 incrementCounter?

0 投票
1 回答
1702 浏览

unit-testing - 单元测试后如何清理嵌入式 cassandra?

我正在使用 HectorsEmbeddedServerHelper来设置嵌入式 Cassandra。它有teardown()cleanup()方法。

问题是清理方法无法删除一些由 cassandra 创建的提交日志文件。可能是因为仍然有一些 cassandra 守护程序没有被 teardown() 方法正确关闭。这里是设置和拆卸代码:

如何删除这些文件?