ApacheIgnite-通过sql驱动程序查询缓存

ApacheIgnite-通过sql驱动程序查询缓存,ignite,Ignite,我在Ignite中创建了一个缓存,现在我正试图通过Ignite包中提供的sqlline查询它。在文档中,它只讨论创建表、索引、查询这些表等。。但是关于查询通过ignite.getOrCreateCache()以这种方式创建的缓存没有任何内容。鉴于ignite功能丰富,我认为这是可能的 我错过了什么 笔记: 点火版本=2.3.0 在我的代码中,通过ignite Sql机制的SqlFieldsQuery运行良好 这看起来非常类似于,但我的发行版只有一个h2-jar,h2-1.4.196.jar,尽

我在Ignite中创建了一个缓存,现在我正试图通过Ignite包中提供的sqlline查询它。在文档中,它只讨论创建表、索引、查询这些表等。。但是关于查询通过
ignite.getOrCreateCache()
以这种方式创建的缓存没有任何内容。鉴于ignite功能丰富,我认为这是可能的

我错过了什么

笔记:
  • 点火版本=2.3.0
  • 在我的代码中,通过ignite Sql机制的SqlFieldsQuery运行良好
  • 这看起来非常类似于,但我的发行版只有一个h2-jar,h2-1.4.196.jar,尽管我使用的是springboot
创建缓存的java代码
我终于明白了。让我找到了答案。架构名和表需要按h2 db引用

以下是语法:
以下是连接到Ignite中特定架构的几个选项:

  • jdbc:ignite:thin://172.16.0.5/mySchema -将连接到“MYSCHEMA”(不区分大小写)
  • jdbc:ignite:thin://172.16.0.5/“mySchema”-将连接到“mySchema”(区分大小写)
  • cacheConfig.setName("eventCache");
    cacheConfig.setTypes(TenantKey.class, EventCachePojo.class);
    cacheConfig.setIndexedTypes(TenantKey.class, EventCachePojo.class);
    Cache<String, EventCachePojo> cache = ignite.getOrCreateCache(cacheConfig);
    
    # i tried jdbcUrl jdbc:ignite:thin://127.0.0.1/ and jdbc:ignite:thin://127.0.0.1/eventCache
    $ ./sqlline.sh --color=true --verbose=true -u jdbc:ignite:thin://127.0.0.1/
    issuing: !connect jdbc:ignite:thin://127.0.0.1/ '' '' org.apache.ignite.IgniteJdbcThinDriver
    Connecting to jdbc:ignite:thin://127.0.0.1/
    Connected to: Apache Ignite (version 2.3.0#20171028-sha1:8add7fd5)
    Driver: Apache Ignite Thin JDBC Driver (version 2.3.0#20171028-sha1:8add7fd5)
    Autocommit status: true
    Transaction isolation: TRANSACTION_REPEATABLE_READ
    sqlline version 1.3.0
    0: jdbc:ignite:thin://127.0.0.1/> !tables
    +--------------------------------+--------------------------------+--------------------------------+--------------------------------+-----------------------------+
    |           TABLE_CAT            |          TABLE_SCHEM           |           TABLE_NAME           |           TABLE_TYPE           |            REMARKS          |
    +--------------------------------+--------------------------------+--------------------------------+--------------------------------+-----------------------------+
    |                                | eventCache                     | EVENTCACHEPOJO                 | TABLE                          |                             |
    |                                | eventCache                     | EVENTCACHEPOJO                 | TABLE                          |                             |
    +--------------------------------+--------------------------------+--------------------------------+--------------------------------+-----------------------------+
    0: jdbc:ignite:thin://127.0.0.1/> select count(*) from eventCache.EVENTCACHEPOJO;
    Error: Failed to parse query: select count(*) from eventCache.EVENTCACHEPOJO (state=42000,code=0)
    java.sql.SQLException: Failed to parse query: select count(*) from eventCache.EVENTCACHEPOJO
        at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:671)
        at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:130)
        at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:299)
        at sqlline.Commands.execute(Commands.java:823)
        at sqlline.Commands.sql(Commands.java:733)
        at sqlline.SqlLine.dispatch(SqlLine.java:795)
        at sqlline.SqlLine.begin(SqlLine.java:668)
        at sqlline.SqlLine.start(SqlLine.java:373)
        at sqlline.SqlLine.main(SqlLine.java:265)
    0: jdbc:ignite:thin://127.0.0.1/> select count(*) from eventCache.EVENTCACHEPOJO;
    Error: Failed to parse query: select count(*) from eventCache.EVENTCACHEPOJO (state=42000,code=0)
    java.sql.SQLException: Failed to parse query: select count(*) from eventCache.EVENTCACHEPOJO
        at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:671)
        at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:130)
        at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:299)
        at sqlline.Commands.execute(Commands.java:823)
        at sqlline.Commands.sql(Commands.java:733)
        at sqlline.SqlLine.dispatch(SqlLine.java:795)
        at sqlline.SqlLine.begin(SqlLine.java:668)
        at sqlline.SqlLine.start(SqlLine.java:373)
        at sqlline.SqlLine.main(SqlLine.java:265)
    
    0: jdbc:ignite:thin://127.0.0.1/> select count(*) from EVENTCACHEPOJO;
    Error: Failed to parse query: select count(*) from EVENTCACHEPOJO (state=42000,code=0)
    java.sql.SQLException: Failed to parse query: select count(*) from EVENTCACHEPOJO
        at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:671)
        at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:130)
        at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:299)
        at sqlline.Commands.execute(Commands.java:823)
        at sqlline.Commands.sql(Commands.java:733)
        at sqlline.SqlLine.dispatch(SqlLine.java:795)
        at sqlline.SqlLine.begin(SqlLine.java:668)
        at sqlline.SqlLine.start(SqlLine.java:373)
        at sqlline.SqlLine.main(SqlLine.java:265)
    
    $ ./sqlline.sh --color=true --verbose=true -u jdbc:ignite:thin://127.0.0.1/
    issuing: !connect jdbc:ignite:thin://127.0.0.1/ '' '' org.apache.ignite.IgniteJdbcThinDriver
    Connecting to jdbc:ignite:thin://127.0.0.1/
    Connected to: Apache Ignite (version 2.3.0#20171028-sha1:8add7fd5)
    Driver: Apache Ignite Thin JDBC Driver (version 2.3.0#20171028-sha1:8add7fd5)
    Autocommit status: true
    Transaction isolation: TRANSACTION_REPEATABLE_READ
    sqlline version 1.3.0
    0: jdbc:ignite:thin://127.0.0.1/> !tables
    +--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+---------+
    |           TABLE_CAT            |          TABLE_SCHEM           |           TABLE_NAME           |           TABLE_TYPE           |            REMARKS             |         |
    +--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+---------+
    |                                | eventCache                     | EVENTCACHEPOJO                 | TABLE                          |                                |         |
    |                                | eventCache                     | EVENTCACHEPOJO                 | TABLE                          |                                |         |
    +--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+---------+
    0: jdbc:ignite:thin://127.0.0.1/> select count(*) from "eventCache"."EVENTCACHEPOJO";
    +--------------------------------+
    |            COUNT(*)            |
    +--------------------------------+
    | 2619705                        |
    +--------------------------------+