Apache 点燃 json 字段
Apache ignite json field
也许我在文档中遗漏了这一点,但是是否可以在 Apache Ignite 中存储和查询 json 数据?例如,假设我有一个名为 "cars" 的 "table",其中包含以下字段:
model
blueprint
"blueprint" 字段实际上是一个 json 字段,可能包含如下数据:
{
horsepower: 200,
mpg: 30
}
这些不是 "blueprint" 字段的唯一字段,它可能包含更多或更少的字段。是否可以 运行 查询如:
SELECT model FROM cars WHERE blueprint.horsepower < 300 AND blueprint.mpg > 20
事先不知道 "blueprint" 字段的字段是什么,并且为它们创建索引不是可选的。
注意:这不是关于这是否是存储此信息的逻辑最佳方式,或者 "blueprint" 字段应如何存储在单独的 table 中的讨论。这个问题旨在了解在 apache ignite 中是否可以轻松查询 json 字段。
目前不支持开箱即用。但是,您可以在 JSON 和 Ignite 二进制格式之间创建转换逻辑,并将 BinaryObject
保存在缓存中。要创建没有 Java class 的 BinaryObject
,您可以使用二进制对象生成器:https://apacheignite.readme.io/docs/binary-marshaller#modifying-binary-objects-using-binaryobjectbuilder
也许我在文档中遗漏了这一点,但是是否可以在 Apache Ignite 中存储和查询 json 数据?例如,假设我有一个名为 "cars" 的 "table",其中包含以下字段:
model
blueprint
"blueprint" 字段实际上是一个 json 字段,可能包含如下数据:
{
horsepower: 200,
mpg: 30
}
这些不是 "blueprint" 字段的唯一字段,它可能包含更多或更少的字段。是否可以 运行 查询如:
SELECT model FROM cars WHERE blueprint.horsepower < 300 AND blueprint.mpg > 20
事先不知道 "blueprint" 字段的字段是什么,并且为它们创建索引不是可选的。
注意:这不是关于这是否是存储此信息的逻辑最佳方式,或者 "blueprint" 字段应如何存储在单独的 table 中的讨论。这个问题旨在了解在 apache ignite 中是否可以轻松查询 json 字段。
目前不支持开箱即用。但是,您可以在 JSON 和 Ignite 二进制格式之间创建转换逻辑,并将 BinaryObject
保存在缓存中。要创建没有 Java class 的 BinaryObject
,您可以使用二进制对象生成器:https://apacheignite.readme.io/docs/binary-marshaller#modifying-binary-objects-using-binaryobjectbuilder