Экспорт Geomesa не возвращает результатов, несмотря на наличие данных

Хотели узнать, не могли бы вы помочь нам понять проблему при запросе geomesa/Accumulo?

Проблема:

  1. Когда мы запрашиваем все поля с помощью geomesa export -u A -p B -c catalog1 -f d1-json -F csv, он возвращает данные (пример см. ниже).

  2. Когда мы добавляем подмножество столбцов с помощью -a "short_text_field" ИЛИ даже простого -q "short_text_field='Cow'", он возвращает 0 функций, несмотря на наличие данных: geomesa export -u A -p B -c catalog1 -f d1-json -F csv -a "short_text_field" INFO Экспортировано 0 функций id,short_text_field:String,*geom:Point:srid=4326 INFO Экспорт функций завершен в стандартный вывод через 2077 мс

Пример данных из (1):

id,geom:Point:srid=4326,short_text_field:String,long_text_field_1:String,long_text_field_2:String e9c756ef-06d6-42dd-84a9-c774ec9086ec,POINT (-117.830256 -76.799443),597Fish," Cow Car? Cow Fish Mouse Cat Car Рыба Лошадь Мышь Рыба", "诶 迪 伊 迎 益 伊 迎 诶 迎 诶 伊")

Вопрос: Кто-нибудь знает, как лучше всего это отладить?

Выдержка из логов при запуске запроса с параметром -a:

2017-01-10 14:36:04,921 WARN  [org.apache.hadoop.util.NativeCodeLoader] Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2017-01-10 14:36:06,448 WARN  [org.apache.accumulo.server.fs.VolumeManagerImpl] dfs.datanode.synconclose set to false in hdfs-site.xml: data loss is possible on hard system reset or power loss
2017-01-10 14:36:09,943 WARN  [org.locationtech.geomesa.accumulo.data.AccumuloDataStore] Configured server-side iterators do not match client version - client version: 1.2.7, server version: unavailable
2017-01-10 14:36:10,329 WARN  [org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator] Error on server testmisc-w-0.c.geobench-146409.internal:9997
org.apache.accumulo.core.client.impl.AccumuloServerException: Error on server testmisc-w-0.c.geobench-146409.internal:9997
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator.doLookup(TabletServerBatchReaderIterator.java:695)
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator$QueryTask.run(TabletServerBatchReaderIterator.java:349)
        at org.apache.htrace.wrappers.TraceRunnable.run(TraceRunnable.java:57)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.TApplicationException: Internal error processing startMultiScan
        at org.apache.thrift.TApplicationException.read(TApplicationException.java:111)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:71)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.recv_startMultiScan(TabletClientService.java:317)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.startMultiScan(TabletClientService.java:297)
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator.doLookup(TabletServerBatchReaderIterator.java:634)
        ... 6 more
2017-01-10 14:36:10,342 WARN  [org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator] Error on server testmisc-w-1.c.geobench-146409.internal:9997
org.apache.accumulo.core.client.impl.AccumuloServerException: Error on server testmisc-w-1.c.geobench-146409.internal:9997
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator.doLookup(TabletServerBatchReaderIterator.java:695)
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator$QueryTask.run(TabletServerBatchReaderIterator.java:349)
        at org.apache.htrace.wrappers.TraceRunnable.run(TraceRunnable.java:57)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.TApplicationException: Internal error processing startMultiScan
        at org.apache.thrift.TApplicationException.read(TApplicationException.java:111)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:71)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.recv_startMultiScan(TabletClientService.java:317)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.startMultiScan(TabletClientService.java:297)
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator.doLookup(TabletServerBatchReaderIterator.java:634)
        ... 6 more
2017-01-10 14:36:10,344 WARN  [org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator] Error on server testmisc-w-1.c.geobench-146409.internal:9997
org.apache.accumulo.core.client.impl.AccumuloServerException: Error on server testmisc-w-1.c.geobench-146409.internal:9997
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator.doLookup(TabletServerBatchReaderIterator.java:695)
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator$QueryTask.run(TabletServerBatchReaderIterator.java:349)
        at org.apache.htrace.wrappers.TraceRunnable.run(TraceRunnable.java:57)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.TApplicationException: Internal error processing startMultiScan
        at org.apache.thrift.TApplicationException.read(TApplicationException.java:111)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:71)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.recv_startMultiScan(TabletClientService.java:317)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.startMultiScan(TabletClientService.java:297)
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator.doLookup(TabletServerBatchReaderIterator.java:634)
        ... 6 more
2017-01-10 14:36:10,351 WARN  [org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator] Error on server testmisc-m.c.geobench-146409.internal:9997
rg.apache.accumulo.core.client.impl.AccumuloServerException: Error on server testmisc-m.c.geobench-146409.internal:9997
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator.doLookup(TabletServerBatchReaderIterator.java:695)
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator$QueryTask.run(TabletServerBatchReaderIterator.java:349)
        at org.apache.htrace.wrappers.TraceRunnable.run(TraceRunnable.java:57)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.TApplicationException: Internal error processing startMultiScan
        at org.apache.thrift.TApplicationException.read(TApplicationException.java:111)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:71)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.recv_startMultiScan(TabletClientService.java:317)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.startMultiScan(TabletClientService.java:297)
        at org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator.doLookup(TabletServerBatchReaderIterator.java:634)
        ... 6 more
2017-01-10 14:36:10,430 INFO  [org.locationtech.geomesa.tools.accumulo.DelimitedExport] Exported 0 features
2017-01-10 14:36:10,433 INFO  [org.locationtech.geomesa.tools.accumulo.commands.ExportCommand] Feature export complete to standard out in 3049ms

person mds91    schedule 10.01.2017    source источник


Ответы (1)


Решение состоит в том, чтобы просто добавить пространство имен в качестве префикса к параметру каталога команд загрузки и экспорта.

При загрузке обязательно укажите namespace.catalogname

Точно так же нужно делать и при запросе.

person mds91    schedule 10.01.2017
comment
Не похоже, что это отвечает на поставленный вопрос. В вопросе -c catalog1 используется как для успешной, так и для неудачной команды. - person vpipkt; 10.01.2017
comment
Ключевым моментом является то, что если вы добавляете -a или -q к команде экспорта, убедитесь, что перед параметром каталога указано пространство имен. - person mds91; 31.01.2017