问题标签 [libcql]

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 投票
2 回答
415 浏览

c++ - 将结果存储在 C++ 中的 Map 中,然后对其进行迭代然后打印出来?

我已经开始使用C++ libcqlCassandra 库了。我正在尝试使用 C++ 和 libcql 库从 Cassandra 检索数据。

每当我使用命令行cqlsh并像这样选择时-

我总是在 cql 命令行上得到以下输出,其中records列实际上是 amap 其中 key ise1和 value is HELLO。以同样的方式键e2和值HELLO再次.. 当我在 CQL 中创建表时,我创建了记录作为映射,因为我正在使用 CQL 的集合功能..

现在来到 C++ 世界-

现在我正在尝试从...中检索相同的内容C++ libcql library...我将在 C++ 中运行与上面相同的选择查询,并且我想返回一个映射,它将具有e1, e2 as the keyHELLO as there value inside that map...可以在 C++ 中执行吗?

以下是运行我的 C++ 程序后将在控制台上打印结果的方法 -

运行上面的 C++ 程序后,我在控制台上看到的结果是这样的 -

但我正在寻找的是 -将结果存储在 C++ 中的 Map 中,这样键应该e1 and e2在 Map 中......并且它们的值应该HELLO在同一个 Map 中......然后迭代 Map并用 C++ 打印出结果?这可能与我拥有的当前代码有关吗?

如果是,任何人都可以提供一个简单的例子吗?谢谢...

我猜这基本上是一个 C++ 问题。只需检索数据并将其放入地图中...但我面临的问题是我的背景完全是 Java,所以很难弄清楚如何做到这一点。 ..

0 投票
1 回答
527 浏览

c++ - 如何将结果存储在 C++ 中的 Map 中,然后对其进行迭代,然后打印出结果?

我已经开始使用C++ libcqlCassandra 库了。我正在尝试使用 C++ 和 libcql 库从 Cassandra 检索数据。

每当我使用命令行cqlsh并像这样选择时-

我总是在 cql 命令行上得到以下输出,其中record_name和 record_value 实际上是TEXT datatype which is UTF-8 encoded string.

现在来到 C++ 世界-

现在我正在尝试从...中检索相同的内容C++ libcql library...我将在 C++ 中运行与上面相同的选择查询,并且我想返回一个映射,它将具有e1, e2 as the keyHELLO as there value inside that map...可以在 C++ 中执行吗?

以下是运行我的 C++ 程序后将在控制台上打印结果的方法 -

运行上面的 C++ 程序后,我在控制台上看到的结果是这样的 -

但我正在寻找的是 -将结果存储在 C++ 中的 Map 中,这样键应该e1 and e2在 Map 中......并且它们的值应该HELLO在同一个 Map 中......然后迭代 Map并用 C++ 打印出结果?这可能与我拥有的当前代码有关吗?

如果是,任何人都可以提供一个简单的例子吗?谢谢...

我猜这基本上是一个 C++ 问题。只需检索数据并将其放入地图中...但我面临的问题是我的背景完全是 Java,所以很难弄清楚如何做到这一点。 ..

我在这个问题中稍微改变了我的表格设计,而不是使用集合,而不是使用集合,现在我使用复合键..

但是,如果我能找出我之前问题的解决方案,那么我将采用这种方法,否则我将采用这种方法..

谢谢您的帮助...

更新代码:-

通过以下更改,它总是打印两次第一个结果?不知道为什么?

我在这里做错了什么吗?

0 投票
2 回答
338 浏览

c++ - CQL SELECT 查询在连接到暂存 Cassandra 服务器时被挂起?

我有一个 DEV 盒,我正在尝试连接到端口 9042 上的 STAGING Cassandra 服务器,因为我正在使用新的二进制协议。我正在使用libcql library用于 Cassandra 的 DEV 框运行我的 C++ 代码。

Connected Successfully但不知何故,我想,当打印出来时,我可以连接到端口 9042 上的暂存 Cassandra 服务器。

以下是我在头文件中的代码 -

下面是我的代码.cc file,它将尝试使用上面的类建立连接。然后也执行查询。

现在我面临的问题是它没有返回任何结果。它以某种方式挂在选择查询上 -

这是我在控制台上看到的 -

之后它被挂起,这意味着它没有返回我的任何结果......但是相同的代码适用于我的本地 cassandra 服务器。一旦我将登台 cassandra 信息更改为本地机器,它就开始正常工作......

我还检查了端口(9042)是否打开正常。那么为什么查询被挂起?

我假设,我可能需要对execute_query方法进行一些更改才能使其正常工作?

我在暂存服务器上运行的 Cassandra 版本是 1.2.9,本地是 1.2.8

更新:-

我做了一些研究,这条线并没有给我任何回报——这意味着 future.get 以某种方式无法正常工作..

在它尝试执行我的 CQL Select 查询之后..USE profileks工作正常但只有 CQL Select 查询被挂起..

0 投票
1 回答
244 浏览

c++ - 使用 libcql 的 Cassandra 表的列名

有没有办法使用 libcql ( https://github.com/datastax/cpp-driver ) 获取 Cassandra 中表的列名?我在 C++ 驱动程序中找不到相关的 API 调用。

非常感谢任何帮助。

问候, 索拉夫