【问题标题】:Cassandra UDT and JAVACassandra UDT 和 JAVA
【发布时间】:2015-11-09 19:35:56
【问题描述】:

我对 UDT 有一些疑问,不确定是否是错误。

这是我的类型定义和表定义

CREATE TYPE test_udt_bigint (
    id    varchar,
    data Map<int, bigint>
);

CREATE TYPE test_udt (
    id    varchar,
    data Map<int, int>
);

CREATE TABLE test_tbl_bigint (
    row_id varchar PRIMARY KEY,
    udt_data map<varchar, frozen<test_udt_bigint>>
);

CREATE TABLE test_tbl_int (
    row_id varchar PRIMARY KEY,
    udt_data map<varchar, frozen<test_udt>>
);

创建这些对象后,我使用 cqlsh 插入数据,它成功了,我可以使用 select 命令检索数据。但是通过JAVA插入数据后,就会出现很多问题。

这是我用于插入数据的存储库: https://github.com/sophiah/cassandra_test/tree/master/cassandra-test-udt

将数据插入 test_tbl_udt 后,一切看起来都很好,我可以正常通过 cqlsh 进行选择:

cqlsh:testcassandra> select * from test_tbl_int;

row_id | udt_data
--------+------------------------------------------------
test | {'key-01': {id: 'mapkey-01 ', data: {10: 20}}}
xxx |  {'key-01': {id: 'mapkey-01', data: {10: 20}}}

但是,在将数据插入 test_tbl_bigint 之后,有一些东西 = 错误:

cqlsh:testcassandra> select * from test_tbl_int;
Traceback (most recent call last):
File "bin/cqlsh", line 1093, in perform_simple_statement
    rows = self.session.execute(statement, trace=self.tracing_enabled)
File "/opt/apache-cassandra-2.1.11/bin/../lib/cassandra-driver-internal-only-2.7.2.zip/cassandra-driver-2.7.2/cassandra/cluster.py", line 1602, in execute
    result = future.result()
File "/opt/apache-cassandra-2.1.11/bin/../lib/cassandra-driver-internal-only-2.7.2.zip/cassandra-driver-2.7.2/cassandra/cluster.py", line 3347, in result
    raise self._final_exception
error: unpack requires a string argument of length 4

cqlsh:testcassandra> select * from test_tbl_bigint;
NoHostAvailable: ('Unable to complete the operation against any hosts', {<Host: 127.0.0.1 datacenter1>: ConnectionShutdown('Connection to 127.0.0.1 is defunct',)})

有什么建议吗?

谢谢

【问题讨论】:

  • 你使用哪个版本的 Cassandra?
  • Cassandra 版本是 2.2.3

标签: java cassandra cassandra-cli


【解决方案1】:

简短的回答是da_test_tbl_bigint.java中的表名错误,它试图插入test_tbl_int。我还不清楚为什么驱动程序没有捕捉到错误,当我弄清楚时我会更新我的答案。

【讨论】:

  • 哦,我没注意到,让我试试正确的并更新结果(另一个问题)
  • 感谢 Olivier 的帮助,在查看了我所有的代码并修复了缺失配置后,它现在运行良好。非常感谢。
猜你喜欢
  • 2016-01-31
  • 2018-08-23
  • 2015-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-21
  • 2015-04-18
  • 2018-01-31
相关资源
最近更新 更多