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)