geomesa hbase/geoserver表名错误

omqzjyyz  于 2021-06-08  发布在  Hbase
关注(0)|答案(2)|浏览(557)

我正在用geomesa hbase开发一个geoserver,但是当我创建一个新的数据存储时,bigtable.table.name中出现了一些问题。
问题是我所有表的名称都是这样的'published.cityos.fonts',但是当我保存存储时会抛出这样的错误
创建数据存储时出错,请检查参数。错误消息:字符串索引超出范围:-1
我复制了一个表来做测试,并命名为'cityos.fonts',我没有得到任何错误。
有没有可能解决这个问题而不必复制和重命名100个表?
事先非常感谢。
控制台出错:
warn[data.store]-获取新数据存储java.io.ioexception时出错ç 导致原因:java.lang.stringindexoutofboundsexception:字符串索引超出范围:-1位于org.locationtech.geomesa.index.metadata.cachedlazymetadata$.decoderow(cachedlazymetadata)的java.lang.string.substring(未知源)。scala:137)在org.locationtech.geomesa.index.metadata.cachedlazymetadata$$anonfun$getfeaturetypes$1.apply(cachedlazymetadata。scala:57)在org.locationtech.geomesa.index.metadata.cachedlazymetadata$$anonfun$getfeaturetypes$1.apply(cachedlazymetadata。scala:57)在scala.collection.iterator$$anon$11.next(iterator。scala:370)在org.locationtech.geomesa.utils.collection.closeableiterator$$anon$2.next(closeableiterator。scala:36)在scala.collection.iterator$class.tostream(iterator。scala:1180)位于org.locationtech.geomesa.utils.collection.closeableiterator$$anon$2.tostream(closeableiterator.com)。scala:34)在scala.collection.traversableonce$class.toseq(traversableonce。scala:296) 在org.locationtech.geomesa.utils.collection.closeableiterator$$anon$2.toseq(closeableiterator。scala:34)在org.locationtech.geomesa.index.metadata.cachedlazymetadata$class.getfeaturetypes(cachedlazymetadata)上。scala:57)位于org.locationtech.geomesa.hbase.data.hbasebackedmetadata.getfeaturetypes(hbasebackedmetadata)。scala:19)在org.locationtech.geomesa.index.geotools.geomesadatastore.gettypenames(geomesadatastore。scala:137)在org.vfny.geoserver.util.datastoreutils.getdataaccess(datastoreutils。java:97)在org.geoserver.catalog.resourcepool.getdatastore(resourcepool。java:649)

laximzn5

laximzn51#

我认为问题不在于表名,而在于第一个表中的额外数据。geomesa希望目录表只包含简单的要素类型元数据。为了确定给定目录中的简单要素类型,geomesa扫描表并使用regex从行值中提取类型名。例如, abastament_agbarType~attributes 指示类型名称为 abastament_agbarType . 原始表似乎有许多非geomesa行,这导致行regex失败。
我在这里创建了一个跟踪问题的票证。我们可以添加try/catch并在无效行上记录警告。然而,即使有了这个修正,在目录中有大量的数据将使 getTypeNames 非常慢,所以如果可能的话你应该避免。

tcbh2hod

tcbh2hod2#

一旦改变了。。。
当我尝试从源代码构建时,当我到达geomesa index api部分时,它停止了。我得到一个编译错误。

[ERROR] Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.1:compile (scala-compile-first) on project geomesa-index-api_2.11: wrap: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :geomesa-index-api_2.11

我正在使用以下cli命令进行构建:
mvn干净安装-dskiptests-dcheckstyle.skip
当我建立没有改变它的建设正常,没有任何错误
谢谢。

相关问题