The problem is documented in this issue already: https://issues.apache.org/jira/browse/CALCITE-1994

It's not so easy to use the elasticsearch adapter with sqlline unfortunately.


Mit freundlichen Grüßen,
------------------------------------------------------------------------
*Christian Beikov*
Am 26.12.2017 um 09:51 schrieb bryanbzhou(周彬):
Hi, all.


I met some problem with Elasticsearch adapter. Is there someone can help me ?


I try to test Elasticsearch adapter following 
https://calcite.apache.org/docs/elasticsearch_adapter.html.


First . I create a elacticsearch with docker on my macbook with following 
command:

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" 
docker.elastic.co/elasticsearch/elasticsearch:5.6.1


Then. I edit es.json


{

   "version": "1.0",

   "defaultSchema": "elasticsearch",

   "schemas": [

     {

       "type": "custom",

       "name": "elasticsearch",

       "factory": 
"org.apache.calcite.adapter.elasticsearch5.Elasticsearch5SchemaFactory",

       "operand": {

         "coordinates": "{‘127.0.0.1': 9300}",

         "userConfig": "{ 'bulk.flush.max.size.mb': 10}",

         "index": "usa"

       }

     }

   ]

}


And try to connect to es with sqlline "!connect jdbc:calcite:model=es.json 
elastic changeme”

But I got an error:


java.lang.NoSuchMethodError: 
org.elasticsearch.transport.client.PreBuiltTransportClient.addPlugins(Ljava/util/Collection;Ljava/util/Collection;)Ljava/util/Collection;

at 
org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:130)

at 
org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:116)

at 
org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:106)

at 
org.apache.calcite.adapter.elasticsearch5.Elasticsearch5Schema.open(Elasticsearch5Schema.java:119)

at 
org.apache.calcite.adapter.elasticsearch5.Elasticsearch5Schema.<init>(Elasticsearch5Schema.java:74)

at 
org.apache.calcite.adapter.elasticsearch5.Elasticsearch5SchemaFactory.create(Elasticsearch5SchemaFactory.java:56)

at org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:270)

at org.apache.calcite.model.JsonCustomSchema.accept(JsonCustomSchema.java:45)

at org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:196)

at org.apache.calcite.model.ModelHandler.<init>(ModelHandler.java:88)

at org.apache.calcite.jdbc.Driver$1.onConnectionInit(Driver.java:104)

at 
org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:139)

at sqlline.DatabaseConnection.connect(DatabaseConnection.java:156)

at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:204)

at sqlline.Commands.connect(Commands.java:1095)

at sqlline.Commands.connect(Commands.java:1001)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)

at sqlline.SqlLine.dispatch(SqlLine.java:791)

at sqlline.SqlLine.begin(SqlLine.java:668)

at sqlline.SqlLine.start(SqlLine.java:373)

at sqlline.SqlLine.main(SqlLine.java:265)

Reply via email to