- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 cassandra 中执行了一个查询,其中有 3 列,第三列的数据类型为 List查询结果格式如下:
||Col 1 (varchar)||Col 2 (varchar)||Col 3 (list)||
|value 1.1|value 2.1|{"option 1":"value 1","option 2":"value 2"}
我想获取第 3 列的值并将其存储在某个变量中
我尝试了 .getList 选项,但它不起作用并抛出异常,因此无法找到任何其他方法。
因此无法附加示例代码。
最佳答案
Alex 提出了一个很好的观点,即数据采用列表格式,而不是 map 格式。话虽这么说,我将发布带有 DataStax Java 驱动程序 v3.6 的代码,展示如何拉回列表和 map 。
首先,我创建了一个包含两种类型集合的示例表,并添加了一些值:
aaron@cqlsh:stackoverflow> CREATE TABLE collections (key TEXT PRIMARY KEY,
testList LIST<TEXT>, testMap MAP<TEXT,TEXT>);
aaron@cqlsh:stackoverflow> INSERT INTO collections (key,testList,testMap)
VALUES ('a',['one','two','three'],{'option 1':'value 1','option 2':'value 2','option 3':'value 3'});
我通过一个简单的查询验证了它的工作原理:
aaron@cqlsh:stackoverflow> SELECT key, testlist, testmap
FROM stackoverflow.collections WHERE key='a';
key | testlist | testmap
-----+-------------------------+-----------------------------------------------------------------------
a | ['one', 'two', 'three'] | {'option 1': 'value 1', 'option 2': 'value 2', 'option 3': 'value 3'}
(1 rows)
我使用自定义 CassandraConnection
构建了一个简单的应用程序处理我的集群和 session 对象、连接并运行一个简单的 session.execute(strQuery);
的类。然后在我的 Java 测试应用程序中,这有效:
String strSELECT2 ="SELECT key, testlist, testmap "
+ "FROM stackoverflow.collections WHERE key='a'";
ResultSet rows2 = conn.query(strSELECT2);
for (Row row : rows2) {
System.out.print(
row.getString("key") + " " +
"\nList:" + row.getList("testlist", String.class).toString() + " " +
"\nMap:" + row.getMap("testmap", String.class, String.class));
}
并产生以下结果:
a
List:[one, two, three]
Map:{option 1=value 1, option 2=value 2, option 3=value 3}
关于java - Cassandra /Datastax : How to get values of column having list datatype in java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56946002/
我正在阅读 Scylla 的文档,因为我们正计划从 DSE 迁移到本地 Scylla。然而,in their documentation ,他们说不支持 DSE SSTable 格式。 Here他们提
我正在使用与 Datastax Enterprise 捆绑在一起的 gremlin-console (v3.2.7)。启动时它会自动连接到远程 gremlin 服务器。接下来,我创建一个别名来访问右侧
我正在阅读 Scylla 的文档,因为我们正计划从 DSE 迁移到本地 Scylla。然而,in their documentation ,他们说不支持 DSE SSTable 格式。 Here他们提
有谁知道如何在使用 amazon ec2 M3.Xlarge 机器的集群中使用 Datastax 企业(使用 opscenter)? 当我尝试使用这些类型的实例(使用 ssd)时,出现以下错误: 启动
我了解 DSE 5.1 运行 Solr 6.0 版本。我正在尝试使用 Solr 本地参数来使用 facet.pivot 功能,但它似乎不起作用。 我的数据如下 Simple 4 fields 我需要的
我在 Datastax 4.6 集群上有一个大型但简单的 Cassandra 数据库。对于这个非常简单的用例来说,许可证续订是禁止的,我正在尝试迁移到直接的 Apache 或 Datastax Com
我正在尝试在 Windows 7 机器上使用 Datastax C# 客户端驱动程序连接到在虚拟机器 (Ubuntu) 上运行的 DSE Cassandra。 这是我的代码: Cluster _clu
我从 CLI 中创建了这样的列族- create column family profile with key_validation_class = 'UTF8Type' and co
我正在使用 OpsCenter 5.1.1 运行 DSE 4.6.5 集群 (Cassandra 2.0.14.352) 一天一两次,其中一个节点(有时更多)停止报告指标,直到我手动重新启动 data
我需要在 cassandra 的表中选择不同的计数。 据我所知,cassandra 不支持直接不同计数,甚至像 rdbms 这样的嵌套查询也不支持。 select count(*) from (sel
我在尝试为创建的角色授予权限时遇到异常。 命令: GRANT ALL PERMISSIONS on KEYSPACE test_ks to ks_admin; 错误: ServerError: jav
我刚刚安装了 DataStax DevCenter。但是在加载时,会弹出自动更新和使用页面。但是,“确定”按钮被禁用且无法点击。所以我无法通过应用程序的启动加载。我怎样才能绕过这个? Click he
我试图在本地启动DSE 5.0.1 Cassandra(单节点)。 出现以下错误: CassandraDaemon.java:698 - Cannot start node if snitch's d
我刚刚安装了DataStax Community Edition,但是在尝试运行以下命令时; C:\> net start DataStax_DDC_Server 我得到以下回应: 谢谢 最佳答案 我
我使用 datastax java 驱动程序构建了一个选择查询。我使用限制选项设置限制。但是我看到另一个也可以设置的属性 setFetchSize(整数大小) 根据文档,DEFAULT_FETCH_S
刚刚在我的 Mac 上安装(从下载的 dmg 复制应用程序)DevCenter 1.6,运行安装了 jdk 8u152 的 macOs Sierra 10.12.6。应用程序加载了一个 UI(启动画面
我们可以像这样创建一个集群实例。 cluster = Cluster .builder() .addContactPoint("192.168.0.30") .withRetryPolicy(Def
我在127.0.1.1上运行自己的cassandra版本。我将rpc_address和address更改为127.0.1.1。 当我启动 Opscenter 时,系统会提示我安装agents,并通过推
我正在使用 Cassandra 1.2.5 和二级索引。当我运行准备好的语句时,没有返回数据。我有数据。另外,对于索引列,我确实有重复的值。我正在做的是根据 user_id 重新调整 video_id
我正在使用 Datastax 可爱的 cassandra java 驱动程序。我试图将所有查询字符串封装到内置访问器中以进行映射,但我需要能够设置查询的分页状态。 我发现这可以通过普通语句(Simpl
我是一名优秀的程序员,十分优秀!