I've tried with avatica, avatica-metrics, standalone-server and server, all in version 1.8.0 jars from maven repository as dependencies(at first only with avatica and avatica-metrics and then with other combinations) and 1.9.0-SNAPSHOT versions of calcite core and csv with their sources. At first I got an eigenbase-properties NoClass Exception, so I added version 1.1.5 from maven repositories. Then, I got java.lang.NoClassDefFoundError: org/codehaus/commons/compiler/CompileException , and I am stuck with these exception after many combinations and tries.
2016-09-06 18:46 GMT+03:00 Julian Hyde <[email protected]>: > That still sounds like a version mismatch. Note that avatica releases are > separate from calcite these days. Therefore calcite-core-1.9.0-SNAPSHOT, > for instance, depends upon avatica-metrics-1.8.0. > > I think you should use 1.9.0-SNAPSHOT versions of calcite- jars, and 1.8.0 > versions of avatica- jars. > > Julian > > > > On Sep 6, 2016, at 7:45 AM, Γιώργος Θεοδωράκης <[email protected]> > wrote: > > > > I have imported as external jars calcite-example-csv, calcite-core, > avatica > > , linq4j, avatica-metrics, avatica-standalone with all their sources and > > tests, and I get: Exception in thread "main" > java.lang.AbstractMethodError: > > org.apache.calcite.config.CalciteConnectionProperty. > valueClass()Ljava/lang/Class; > > at > > org.apache.calcite.avatica.ConnectionConfigImpl$PropEnv. > getEnum(ConnectionConfigImpl.java:228). > > Is there something else I am missing. > > > > Also, when I ran the streaming test from CsvTest.java and I add a filter > in > > the query, I get an error. Is filter implemented for streaming query by > > defining the query with a string, or should I define with another way? > > > > > > 2016-09-05 21:03 GMT+03:00 Julian Hyde <[email protected]>: > > > >> You have mismatched versions. CANCEL_FLAG will be added to calcite-core > >> only in version 1.9. So, if you are using 1.9.0-SNAPSHOT version of > >> example/csv you should use a 1.9.0-SNAPSHOT version of other Calcite > jars. > >> (You can build and install in your local repo using ‘mvn install’.) > >> > >> 1.9 should be released in a couple of weeks. > >> > >> Julian > >> > >>> On Sep 5, 2016, at 3:04 AM, Γιώργος Θεοδωράκης < > [email protected]> > >> wrote: > >>> > >>> It has to do with the dependencies. When I am running the sample code > >> with > >>> changes as Test in > >>> ../calcite-master/example/csv/src/test/java/org/apache/calcite/test/ I > >> have > >>> no errors. However, when I try to create my own project in Eclipse and > >>> after I have imported everything with maven repositories (from calcite > >> 1.8 > >>> version and as external .jar the calcite-example-csv-1.9.0- > SNAPSHOT.jar > >>> from the github version) the same error occurs : > >>> > >>> Exception in thread "main" java.lang.NoSuchFieldError: CANCEL_FLAG > >>> at > >>> org.apache.calcite.adapter.csv.CsvScannableTable.scan( > >> CsvScannableTable.java:48) > >>> at > >>> org.apache.calcite.interpreter.TableScanNode. > >> createScannable(TableScanNode.java:117) > >>> at > >>> org.apache.calcite.interpreter.TableScanNode. > >> create(TableScanNode.java:94) > >>> at org.apache.calcite.interpreter.Nodes$CoreCompiler.visit(Nodes.java: > >> 68) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at > >>> sun.reflect.NativeMethodAccessorImpl.invoke( > >> NativeMethodAccessorImpl.java:57) > >>> at > >>> sun.reflect.DelegatingMethodAccessorImpl.invoke( > >> DelegatingMethodAccessorImpl.java:43) > >>> at java.lang.reflect.Method.invoke(Method.java:606) > >>> at > >>> org.apache.calcite.util.ReflectUtil.invokeVisitorInternal( > >> ReflectUtil.java:257) > >>> at org.apache.calcite.util.ReflectUtil.invokeVisitor( > >> ReflectUtil.java:214) > >>> at org.apache.calcite.util.ReflectUtil$1.invokeVisitor( > >> ReflectUtil.java:471) > >>> at > >>> org.apache.calcite.interpreter.Interpreter$Compiler.visit(Interpreter. > >> java:476) > >>> at > >>> org.apache.calcite.interpreter.Interpreter$Compiler.visitRoot( > >> Interpreter.java:433) > >>> at org.apache.calcite.interpreter.Interpreter.<init> > >> (Interpreter.java:75) > >>> at Baz.bind(Unknown Source) > >>> at > >>> org.apache.calcite.jdbc.CalcitePrepare$CalciteSignature.enumerable( > >> CalcitePrepare.java:327) > >>> at > >>> org.apache.calcite.jdbc.CalciteConnectionImpl.enumerable( > >> CalciteConnectionImpl.java:282) > >>> at > >>> org.apache.calcite.jdbc.CalciteMetaImpl._createIterable( > >> CalciteMetaImpl.java:553) > >>> at > >>> org.apache.calcite.jdbc.CalciteMetaImpl.createIterable( > >> CalciteMetaImpl.java:544) > >>> at > >>> org.apache.calcite.avatica.AvaticaResultSet.execute( > >> AvaticaResultSet.java:187) > >>> at > >>> org.apache.calcite.jdbc.CalciteResultSet.execute( > >> CalciteResultSet.java:65) > >>> at > >>> org.apache.calcite.jdbc.CalciteResultSet.execute( > >> CalciteResultSet.java:44) > >>> at > >>> org.apache.calcite.avatica.AvaticaConnection$1.execute( > >> AvaticaConnection.java:605) > >>> at > >>> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute( > >> CalciteMetaImpl.java:599) > >>> at > >>> org.apache.calcite.avatica.AvaticaConnection. > prepareAndExecuteInternal( > >> AvaticaConnection.java:613) > >>> at > >>> org.apache.calcite.avatica.AvaticaStatement.executeInternal( > >> AvaticaStatement.java:139) > >>> at > >>> org.apache.calcite.avatica.AvaticaStatement.executeQuery( > >> AvaticaStatement.java:208) > >>> at stream_test.CsvTest.checkSql(CsvTest.java:122) > >>> at stream_test.CsvTest.checkSql(CsvTest.java:76) > >>> at stream_test.TestQuery.main(TestQuery.java:13) > >>> > >>> Is there anything else I have to import or have I done something wrong? > >>> > >>> 2016-09-05 1:11 GMT+03:00 Julian Hyde <[email protected]>: > >>> > >>>> It might be case-sensitivity. Try double-quoting the column names in > >> your > >>>> query. > >>>> > >>>> Julian > >>>> > >>>>> On Sep 4, 2016, at 09:43, Γιώργος Θεοδωράκης < > [email protected]> > >>>> wrote: > >>>>> > >>>>> I have correctly used sqlline to run queries on a streaming table, > but > >>>> now > >>>>> I face problems trying to implement it programmatically with java. I > >> have > >>>>> made an attempt, but haven't got it running yet ( > >>>>> http://stackoverflow.com/questions/39318653/create-a- > >>>> streaming-example-with-calcite-using-csv > >>>>> ). > >>>>> Can somebody help me by giving a template or finding what's wrong > with > >> my > >>>>> code? > >>>>> > >>>>> Thank you in advance, > >>>>> George > >>>>> > >>>>> 2016-09-03 18:14 GMT+03:00 Γιώργος Θεοδωράκης < > [email protected] > >>> : > >>>>> > >>>>>> When I tried a query like SELECT STREAM ss.depts.deptno FROM > ss.depts > >>>>>> WHERE ss.depts.deptno < 30; it gave me a correct answer on the > >>>> SDEPTS.cvs > >>>>>> in sales folder with both my json and model-stream-table.json. I > only > >>>> had > >>>>>> to declare better where to find the tables and the columns, because > >> with > >>>>>> only the name it wouldn't run. I still haven't fixed my sOrders.csv > >> yet, > >>>>>> but I suppose it has to do with how I have created. > >>>>>> > >>>>>> 2016-09-03 15:39 GMT+03:00 Γιώργος Θεοδωράκης < > >> [email protected] > >>>>> : > >>>>>> > >>>>>>> I am trying to create a simple streaming query ( like SELECT > STREAM * > >>>>>>> FROM ORDERS WHERE units > 10). I have created a stream using a > socket > >>>> that > >>>>>>> saves the orders in an sOrders.csv file and I have changed the > >>>>>>> model-stream-table.json like this: > >>>>>>> { > >>>>>>> version: '1.0', > >>>>>>> defaultSchema: 'CUSTOM_TABLE', > >>>>>>> schemas: [ > >>>>>>> { > >>>>>>> name: 'CUSTOM_TABLE', > >>>>>>> tables: [ > >>>>>>> { > >>>>>>> name: 'ORDERS', > >>>>>>> type: 'custom', > >>>>>>> factory: 'org.apache.calcite.adapter.cs > >>>>>>> v.CsvStreamTableFactory', > >>>>>>> stream: { > >>>>>>> stream: true > >>>>>>> }, > >>>>>>> operand: { > >>>>>>> file: '/home/hduser/Desktop/sOrders.csv', > >>>>>>> flavor: "scannable" > >>>>>>> } > >>>>>>> } > >>>>>>> ] > >>>>>>> } > >>>>>>> > >>>>>>> , because when I had defaultSchema: 'STREAM' it showed: Error while > >>>>>>> executing SQL "SELECT STREAM * FROM orders": From line 1, column 22 > >> to > >>>> line > >>>>>>> 1, column 27: Table 'ORDERS' not found (state=,code=0). > >>>>>>> > >>>>>>> Everything is good, until I try to project or filter a column when > it > >>>>>>> shows: Error while executing SQL "SELECT STREAM productId FROM > >> orders": > >>>>>>> From line 1, column 15 to line 1, column 23: Column 'PRODUCTID' not > >>>> found > >>>>>>> in any table (state=,code=0). When I type !columns I get: > >> CUSTOM_TABLE > >>>> | > >>>>>>> ORDERS | productId | 4 | JavaType(class... > >>>>>>> > >>>>>>> To solve my problem, should I write from the > >>>>>>> start CsvStreamFilterableTable.java etc. or are these operations > >>>> already > >>>>>>> implemented? > >>>>>>> > >>>>>>> Thank you in advance, > >>>>>>> George > >>>>>> > >>>> > >> > >> > >
