[ 
https://issues.apache.org/jira/browse/CALCITE-3023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16844288#comment-16844288
 ] 

Andrei Sereda edited comment on CALCITE-3023 at 5/20/19 8:56 PM:
-----------------------------------------------------------------

For calcite ({{1.20}}?) release notes we should mention that ES 2.x and 5.x are 
no longer supported by calcite elastic adapter.

Calcite tables now reflect ES index name not type name as before.


was (Author: asereda):
For calcite ({{1.20}}?) release notes we should mention that ES 2.x and 5.x are 
no longer supported by calcite elastic adapter. 

> Upgrade to Elasticsearch 7.0.0
> ------------------------------
>
>                 Key: CALCITE-3023
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3023
>             Project: Calcite
>          Issue Type: Improvement
>          Components: elasticsearch-adapter
>            Reporter: Takako Shimamoto
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 3h 40m
>  Remaining Estimate: 0h
>
> Types are deprecated in APIs in 7.0, with breaking changes to the index 
> creation, put mapping, get mapping, put template, get template and get field 
> mappings APIs.
> https://www.elastic.co/guide/en/elasticsearch/reference/7.0/removal-of-types.html
> In this ticket, I propose that the name of the tables corresponds to indices 
> in Elasticsearch.
> For example:
> *model.json*
> {code:json}
> {
>   "version": "1.0",
>   "defaultSchema": "elasticsearch",
>   "schemas": [
>     {
>       "type": "custom",
>       "name": "elasticsearch",
>       "factory": 
> "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory",
>       "operand": {
>         "coordinates": "{'127.0.0.1': 9200}"
>       }
>     }
>   ]
> }
> {code}
> *indices in Elasticsearch*
> {code:bash}
> root@50153d5029b6:/calcite# curl localhost:9200
> {
>   "name" : "50153d5029b6",
>   "cluster_name" : "predictionio",
>   "cluster_uuid" : "7drQAZjASgO5SFuuS7zXBA",
>   "version" : {
>     "number" : "7.0.0",
>     "build_flavor" : "default",
>     "build_type" : "tar",
>     "build_hash" : "b7e28a7",
>     "build_date" : "2019-04-05T22:55:32.697037Z",
>     "build_snapshot" : false,
>     "lucene_version" : "8.0.0",
>     "minimum_wire_compatibility_version" : "6.7.0",
>     "minimum_index_compatibility_version" : "6.0.0-beta1"
>   },
>   "tagline" : "You Know, for Search"
> }
> root@50153d5029b6:/calcite# curl -XGET 'http://localhost:9200/_cat/indices?v'
> health status index   uuid                   pri rep docs.count docs.deleted 
> store.size pri.store.size
> yellow open   usa     tHUdsJZLRRS57knDyfD4Bg   1   1          2            0  
>    10.1kb         10.1kb
> yellow open   twitter AtiirLwyQXKCFNFrnYCMVQ   1   1          1            0  
>     4.5kb          4.5kb
> {code}
> We hope it displays like this:
> {code:bash}
> root@50153d5029b6:/calcite# ./sqlline 
> sqlline version 1.7.0
> sqlline> !connect jdbc:calcite:model=model.json admin admin
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in 
> [jar:file:/root/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in 
> [jar:file:/root/.m2/repository/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an 
> explanation.
> SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
> Transaction isolation level TRANSACTION_REPEATABLE_READ is not supported. 
> Default (TRANSACTION_NONE) will be used instead.
> 0: jdbc:calcite:model=model.json> SELECT * from "usa";
> +------------------------------------------------------------------------------------+
> |                                        _MAP                                 
>        |
> +------------------------------------------------------------------------------------+
> | {pop=13367, loc=[-72.505565, 42.067203], city=EAST LONGMEADOW, id=01028, 
> state=MA} |
> | {pop=1350, loc=[-72.703403, 42.354292], city=LEEDS, id=01053, state=MA}     
>        |
> +------------------------------------------------------------------------------------+
> 2 rows selected (2.472 seconds)
> 0: jdbc:calcite:model=model.json> SELECT * from "twitter";
> +--------------------------------------------------------------------------------+
> |                                      _MAP                                   
>    |
> +--------------------------------------------------------------------------------+
> | {user=kimchy, post_date=2009-11-15T14:12:12, message=trying out 
> Elasticsearch} |
> +--------------------------------------------------------------------------------+
> 1 row selected (0.091 seconds)
> 0: jdbc:calcite:model=model.json> SELECT count(*) from "usa";
> +--------+
> | EXPR$0 |
> +--------+
> | 2      |
> +--------+
> 1 row selected (0.404 seconds)
> 0: jdbc:calcite:model=model.json> SELECT count(*) from "twitter";
> +--------+
> | EXPR$0 |
> +--------+
> | 1      |
> +--------+
> 1 row selected (0.136 seconds)
> 0: jdbc:calcite:model=model.json> SELECT _MAP['pop'] as "pop", _MAP['city'] 
> as "city" from "usa";
> +-------+-----------------+
> |  pop  |      city       |
> +-------+-----------------+
> | 13367 | EAST LONGMEADOW |
> | 1350  | LEEDS           |
> +-------+-----------------+
> 2 rows selected (0.121 seconds)
> 0: jdbc:calcite:model=model.json> SELECT _MAP['pop'] as "pop", _MAP['city'] 
> as "city" from "usa" where _MAP['pop'] > 10000;
> +-------+-----------------+
> |  pop  |      city       |
> +-------+-----------------+
> | 13367 | EAST LONGMEADOW |
> +-------+-----------------+
> 1 row selected (0.306 seconds)
> 0: jdbc:calcite:model=model.json> SELECT _MAP['user'] as "user", 
> _MAP['message'] as "message" from "twitter";
> +--------+--------------------------+
> |  user  |         message          |
> +--------+--------------------------+
> | kimchy | trying out Elasticsearch |
> +--------+--------------------------+
> 1 row selected (0.133 seconds)
> 0: jdbc:calcite:model=model.json> 
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to