For Object 'test' not found it means Calcite does not load your son model 
correctly, so it can not find then validate the table there. Maybe you model 
file is not load correctly.

I saw a demo in Calcite code in [1], the path sep is </> while your sep is 
<\\>, can you have a try ?

[1] 
https://github.com/apache/calcite/blob/a75a689eff2f1333adc8fb800bdfa077e94da562/core/src/test/java/org/apache/calcite/test/LatticeTest.java#L914

Best,
Danny Chan
在 2019年4月2日 +0800 PM8:33,Maria <[email protected]>,写道:
> Hi, calcite developers. I met a question about es-adapter and still cannot 
> resove it: .
>
>
> 1) calcite version :1.18.0
> 2) ES version : 5.4.1(I know that in calcite-1.18.0 is 6.4.2)
> 3) test sql : select count(*) from test
> 4) elasticsearch-model.json as follow:
> {
> "version": "1.0","defaultSchema": "elasticsearch", "schemas": [ { "type": 
> "custom", "name": "test", "factory": 
> "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory", 
> "operand": {
> "coordinates": "{'xx.xx.xx.xx': 9205}",
> "userConfig": "{'bulk.flush.max.actions': 10, 'bulk.flush.max.size.mb': 1}",
> "index": "test" } } ] }
> 5) test-code:
> try {
> Class.forName("org.apache.calcite.jdbc.Driver");
> } catch (ClassNotFoundException e) {
> Throw new RuntimeException(e);
> }
> Properties pp = new Properties();
> pp.put("lex", "JAVA");
> Connection conn = null;
> try {
> conn = 
> DriverManager.getConnection("jdbc:calcite:model=D:\\calcite\\pre-git\\calcite-test\\conf\\elasticsearch-model.json",
>  pp);
> Statement ss = conn.createStatement();
> String sql = "select count(*) from test";
> ResultSet result = ss.escuteQuery(sql);
> output(resultSet, System.out);
> } catch() {
> Throw new RuntimeException("======get data failed" , e);
> }
>
>
> 6) excaptions :
> org.apache.calcite.sql.validate.SqlValidatorException:Object 'test' not found
> Exception in thread "main" java.lang.RuntimeException: ======get data failed
> .........
> caused by:org.apache.calcite.runtime.CalciteContestException: From line 1, 
> column 22 to line 1, column 25: Object 'test' not found<4 internal calls>
> at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:787)
> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:772)
> at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4788)
> at 
> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:172)
> .........
> 7) other confusions:
> [1] I know that in elasticsearch apdator, test case is done by 
> EmbeddedElasticsearch, why not add one standard JDBC test case?
> [2] model.json in http://calcite.apache.org/docs/elasticsearch_adapter.html 
> need to be update,should add "userConfig", or else will be failed.
>
>
>
>
> any reply will be appreciated
>
>
> Maria.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

Reply via email to