- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我似乎无法让它工作,并且在网上搜索文档或示例但无济于事
在 BinaryObject
支持的 Ignite 缓存上运行简单的聚合查询值为 UUID
作为关键
IgniteBinary binary = ignite.binary();
IgniteCache<UUID, BinaryObject> rowCache = ignite.getOrCreateCache(CACHE_NAME).withKeepBinary();
// put
final int NUM_ROW = 100000;
final int NUM_COL = 100;
for (int i = 0; i < NUM_ROW; i++) {
BinaryObjectBuilder builder = binary.builder(ROW);
for (int j = 0; j < NUM_COL; j++) {
builder.setField("col" + j, Math.random(), Double.class);
}
BinaryObject obj = builder.build();
rowCache.put(UUID.randomUUID(), obj);
}
IgniteCache<UUID, BinaryObject> cache = ignite.cache(CACHE_NAME).withKeepBinary();
final SqlFieldsQuery sqlFieldsQuery = new SqlFieldsQuery("SELECT COUNT(col1)" + cache.getName());
FieldsQueryCursor<List<?>> result = cache.query(sqlFieldsQuery);
org.h2.jdbc.JdbcSQLException: Column "COL1" not found; SQL statement
我已经添加了 QueryEntity
到缓存配置使问题消失
final QueryEntity queryEntity = new QueryEntity();
queryEntity.setTableName(CACHE_NAME);
queryEntity.setKeyFieldName("key");
queryEntity.setKeyType(String.class.getName());
queryEntity.setValueType(Row.class.getName());
LinkedHashMap<String, String> fields = new LinkedHashMap<>();
fields.put("key", String.class.getName());
for (int i = 0; i < 55; i++) {
fields.put("col" + i, Double.class.getName());
}
queryEntity.setFields(fields);
return queryEntity;
但是,我不清楚如何 QueryEntity
的setValueType
和setValueFieldName
做?我的值类型是具有任意键、值的任意 Binary 对象
我想通过fields.put(<colName>, <colType>);
声明这些...
我可以使用 POJO 让一切正常工作,但不能 BinaryObject
作为值类型
我是不是做错了什么?
最佳答案
new SqlFieldsQuery("SELECT COUNT(col1)" + cache.getName())
缓存名称是架构名称,类名称(Row
)是表名称。您的表名称似乎不正确。
还要确保 binary.builder(ROW)
中的 ROW
等于 QueryEntity.valueType
。
关于java - Apache Ignite SqlFieldQuery 位于存储 BinaryObject 的缓存之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45392074/
我有一个自定义对象,在将其放入 ignite 缓存之前,我将其转换为 BinaryObject(使用 BinaryObjectBuilder)。我计算了自定义对象的深度大小,大约为 500 字节。 但
有什么方法可以在二进制对象的 apache ignite 上运行 sql 字段查询(无需定义 java 类)? 我想执行这样的操作: CacheConfiguration cfg = new
我有一些数据要以 BinaryObject 格式存储。我使用 DataStreamer 将数据放入缓存中,并使用 StreamReceiver 来处理它们。以下是我创建 BinaryObject 的方
我似乎无法让它工作,并且在网上搜索文档或示例但无济于事 目标 在 BinaryObject 支持的 Ignite 缓存上运行简单的聚合查询值为 UUID作为关键 放置操作代码 IgniteBinary
我正在从 Spark 数据帧创建 BinaryObject 的缓存,然后我想在该点燃缓存上执行 SQL。 这是我的代码,其中bank是包含三个字段(id、name和age)的数据框: val
我正在评估 Apache Ignite 并试图了解各种模型如何相互映射。据我目前发现,无论您使用何种引擎/API 访问数据,底层存储都是 KV 对(对吗?)。 现在想到了几个问题: 每个 SQL 表是
我是一名优秀的程序员,十分优秀!