簡體   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