我有一个Cassandra数据库表,它被缓存以点燃缓存 . 我想对此表使用一些select查询 . 是否有可能在c中使用SqlFieldsQuery和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 回答
首先,您不使用查询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