You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "bryanbzhou (周彬)" <br...@tencent.com> on 2017/12/26 08:51:08 UTC
need help with Elasticsearch adapter
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)
Re: need help with Elasticsearch adapter
Posted by Christian Beikov <ch...@gmail.com>.
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)