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