使用Cassandra查询从点火缓存中获取数据

时间:2017-06-07 12:25:35

标签: c++ cassandra ignite

我有一个Cassandra数据库表,它被缓存以点燃缓存。我想对此表使用一些select查询。是否有可能使用SqlFieldsQuery& Q ++中的QueryFieldsCursor?或者还有其他选择吗? 我只是尝试使用这个

SqlFieldsQuery sql ("select * from user_permission");
QueryFieldsCursor cursor = cache.Query(qry);
while (cursor.HasNext())
    {
        QueryFieldsRow row = cursor.GetNext();
        std::cout << row.GetNext<std::string>() << row.GetNext<std::string>() << std::endl;
    }

但是出现了这样的错误“无法解析查询:select * from user_permission”

1 个答案:

答案 0 :(得分:0)

首先,您不使用查询API查询Cassandra,而是查询Ignite中已有的数据。因此,在执行查询之前,您必须将数据从Cassandra预加载到Ignite。为此,您需要配置Cassandra持久性存储[1],然后使用cache.LoadCache方法。

其次,您需要确保SQL配置正确[2]。

[1] https://apacheignite-mix.readme.io/docs/ignite-with-apache-cassandra

[2] https://apacheignite-cpp.readme.io/docs/sql-queries