为什么 Apache Ignite 在使用 sql 查询时响应为空
Why Apache Ignite response is empty when using sql query
我正在尝试使用 sql 查询在 Ignite 中创建缓存
CacheConfiguration<?, ?> cacheCfg = new CacheConfiguration<>(DUMMY_CACHE_NAME);
IgniteCache<?, ?> cache = igniteInstance.getOrCreateCache(cacheCfg);
cache.query(new SqlFieldsQuery(
"CREATE TABLE IF NOT EXISTS MY_TABLE (id varchar, value varchar, PRIMARY KEY(id)) " +
"WITH \"template=replicated\", \"DATA_REGION=" + IgniteCacheConfiguration.DEFAULT_REGION + "\""));
然后我尝试使用键值对将一些数据放入缓存 api
IgniteCache<String, String> cache = ignite.cache("SQL_PUBLIC_MY_TABLE");
cache.put("1","example");
我知道数据已成功存储,我可以检索它,我看到缓存大小正确但是当我尝试使用 SQL
检索数据时
SELECT * FROM "PUBLIC".MY_TABLE
例如使用 DBeaver 我得到的结果是空的
您知道 Ignite 是这样工作的还是需要一些额外的配置?
默认情况下,它将 kay 和值包装在 class 中。您可以使用 wrap_key 和 wrap_value 参数告诉它不要这样做:
create table MY_TABLE (id varchar, value varchar, PRIMARY KEY(id)) with "wrap_key=false,wrap_value=false" ;
我正在尝试使用 sql 查询在 Ignite 中创建缓存
CacheConfiguration<?, ?> cacheCfg = new CacheConfiguration<>(DUMMY_CACHE_NAME);
IgniteCache<?, ?> cache = igniteInstance.getOrCreateCache(cacheCfg);
cache.query(new SqlFieldsQuery(
"CREATE TABLE IF NOT EXISTS MY_TABLE (id varchar, value varchar, PRIMARY KEY(id)) " +
"WITH \"template=replicated\", \"DATA_REGION=" + IgniteCacheConfiguration.DEFAULT_REGION + "\""));
然后我尝试使用键值对将一些数据放入缓存 api
IgniteCache<String, String> cache = ignite.cache("SQL_PUBLIC_MY_TABLE");
cache.put("1","example");
我知道数据已成功存储,我可以检索它,我看到缓存大小正确但是当我尝试使用 SQL
检索数据时SELECT * FROM "PUBLIC".MY_TABLE
例如使用 DBeaver 我得到的结果是空的
您知道 Ignite 是这样工作的还是需要一些额外的配置?
默认情况下,它将 kay 和值包装在 class 中。您可以使用 wrap_key 和 wrap_value 参数告诉它不要这样做:
create table MY_TABLE (id varchar, value varchar, PRIMARY KEY(id)) with "wrap_key=false,wrap_value=false" ;