[英]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.