【问题标题】:Unable to create a VIEW in Apache Ignite无法在 Apache Ignite 中创建视图
【发布时间】:2017-08-07 17:04:56
【问题描述】:

我正在尝试使用以下语法在 Apache Ignite 上创建视图:

emplCache.query(new SqlFieldsQuery(
            "CREATE VIEW EmployeeCopy AS (SELECT * FROM Employee);")).getAll();

(假设表 Employee 可用并且其中有数据)。 当这条线被执行时,我得到以下异常:

javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: null
at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:1823)
at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:795)
at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:765)
at com.demo.ignite.test1.EmployeeQuery2.createCopyTable(EmployeeQuery2.java:71)
at com.demo.ignite.test1.EmployeeQuery2.main(EmployeeQuery2.java:55)
Caused by: class org.apache.ignite.IgniteCheckedException: null
at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2316)
at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:1820)
... 4 more
Caused by: java.lang.NullPointerException
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1343)
at org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1815)
at org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1813)
at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2293)
... 5 more

我在 IgniteH2Indexing.java 类的第 1343 行看到变量“twoStepQry”为空。如果我错过了什么,我无法理解。

我正在使用 apache-ignite-2.1.0。

另外,如果我创建一个 VIEW,它在内部是如何工作的?它是锁定缓存中的那些条目,还是将其复制到其他缓存?

【问题讨论】:

    标签: ignite


    【解决方案1】:

    Ignite 目前不支持 CREATE VIEW。 我为此创建了一张票:https://issues.apache.org/jira/browse/IGNITE-5951

    支持的 DDL 语句列表可以在https://apacheignite.readme.io/docs/distributed-ddl找到

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 2016-12-27
      • 2015-10-22
      • 1970-01-01
      • 2021-08-11
      相关资源
      最近更新 更多