繁体   English   中英

在Accumulo中运行范围查询时出现ArrayIndexOutOfBoundsException

[英]ArrayIndexOutOfBoundsException when running range query in Accumulo

我正在使用Geomesa 1.1通过Java连接到Accumulo 1.6.2。 我没有问题查询数据库的特定属性(特定列值)。 但是,当我尝试运行范围查询(尝试时间范围和几何范围)时,出现错误。

当我检查Accumulo日志时,我看到此错误:

exception while doing multi-scan 
    java.lang.ArrayIndexOutOfBoundsException: -1

但是我的代码都没有使用数组。 从基础库抛出异常。

这就是我构造CQL过滤器的方式:

Filter cqlFilter = CQL.toFilter("BBOX(where, 160.0, 1.0, 170.0, 3.0)");

是什么导致java.lang.ArrayIndexOutOfBoundsException: -1

编辑

更新了问题和答案,以表明它不是重复的,并为将来的访问者提供了更一般的帮助。

快速说明一下,您似乎正在使用GeoMesa Accumulo快速入门。 那里的几何字段被命名为“ Where”。 如果您将过滤器更新为

Filter cqlFilter = CQL.toFilter("BBOX(Where, 160.0, 1.0, 170.0, 3.0)");

它可能为您工作。

如果将无效/不正确的表名传递给toFilter则Geomesa / Accumulo将误导该红色鲱鱼错误。 在花大量时间通读此问题的一般解决方案并在代码中搜索错误之前,请确保您具有正确的表名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM