加入Apache Ignite REST API

时间:2018-06-20 14:21:39

标签: apache rest ignite

有人知道您是否可以使用REST API for Apache Ignite进行联接吗?我有两个对象,即帐户和客户已加载到Apache Ignite Server。这两个对象均加载有数据,并作为帐户对象缓存和客户对象缓存存储在缓存中。我可以使用REST API分别查询两个对象,即

http://localhost:8080/ignite?cmd=qryfldexe&pageSize=1000&cacheName=CustomerCache&qry=select+id+from+customer

http://localhost:8080/ignite?cmd=qryfldexe&pageSize=1000&cacheName=AccountCache&qry=select+id+from+account

但是,我想对帐户和客户缓存执行联接。是否支持此功能,如果有,是否有任何示例?我找不到与此有关的任何文档。

2 个答案:

答案 0 :(得分:0)

您需要在cacheName中指定一个缓存,并通过其架构名称(默认情况下为缓存名称)引用JOIN中的第二个表。这并不是REST API所独有的,Java API以相同的方式工作。 查询应该类似于

SELECT * 
FROM Customer AS c
JOIN AccountCache.Account AS a
WHERE c.id = a.customerId

答案 1 :(得分:0)

尝试使用qryfldexe:

例如,我创建下一个缓存:

http://apache-ignite-users.70518.x6.nabble.com/file/t1704/ss1.java

它将创建两个具有相同结构的缓存。

现在我要执行下一条命令:

SELECT * FROM“ mycache1”。值V1加入“ mycache2” .V1上的值V2.key = V2.key

让我们使用下一个转换器获取URI字符串:

https://meyerweb.com/eric/tools/dencoder/

我们的命令将是下一个:

SELECT%20 *%20FROM%20%22mycache1%22.Value%20V1%20join%20%22mycache2%22.Value%20V2%20on%20V1.key%3DV2.key

在brouser中运行下一步:

http://127.0.0.1:8080/ignite?cmd=qryfldexe&pageSize=10&cacheName=mycache1&qry=SELECT%20 *%20FROM%20%22mycache1%22.Value%20V1%20join%20%22mycache2%22.Value%20V2%20on%20V1.key%3DV2.key

输出:

import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

Enzyme.configure({adapter: new Adapter()});