drill-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "南在南方" <i02...@qq.com>
Subject 回复: 回复: error when querying a csv file with drill.
Date Fri, 23 May 2014 15:20:35 GMT
I found that there are two configuration files in drill home (storage-engines.json and storage-plugins.json)
. I have tried to remove storage-engines.json, Connection can establish but same error occurs.

I connected drill with string "sqlline -u jdbc:drill:schema=dfs -n admin - p admin " ,you
mean I connect without giving a schema then query with dfs.`tablename`?
It's 23:00 now. I would try again tomorrow. ^_^
thanks




------------------ 原始邮件 ------------------
发件人: "Jason Altekruse"<altekrusejason@gmail.com>; 
发送时间: 2014年5月23日(星期五) 晚上10:43
收件人: "drill-user"<drill-user@incubator.apache.org>; 
主题: Re: 回复: error when querying a csv file with drill.



It looks like you need to specify the data source you are using (appearing
in the storage section of your config file), I believe there is a way when
you are connecting to pass a default schema, but it currently isn't set up
to bring you right into a schema, even if you only have line specified in
your config file. So you should be able to query from dfs.`table`  (where
table is the filename in your case)

- Jason


On Fri, May 23, 2014 at 9:30 AM, 南在南方 <i02389@qq.com> wrote:

> I have tried three way (back-ticks, single quotes, double quotes).Here is
> the back-ticks error report:
> I succeed in quering parquet and json format file before with "double
> quotes" around file classpath. I thought they were same.
> 0: jdbc:drill:schema=dfs> select * from `/home/bevin/AllstarFull.csv`;
> java.lang.RuntimeException: parse failed
>         at
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare2_(OptiqPrepareImpl.java:237)
>         at
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:195)
>         at
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:168)
>         at
> net.hydromatic.optiq.jdbc.OptiqStatement.parseQuery(OptiqStatement.java:402)
>         at
> net.hydromatic.optiq.jdbc.OptiqStatement.execute(OptiqStatement.java:192)
>         at sqlline.SqlLine$Commands.execute(SqlLine.java:3825)
>         at sqlline.SqlLine$Commands.sql(SqlLine.java:3738)
>         at sqlline.SqlLine.dispatch(SqlLine.java:882)
>         at sqlline.SqlLine.begin(SqlLine.java:717)
>         at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:460)
>         at sqlline.SqlLine.main(SqlLine.java:443)
> Caused by: org.eigenbase.sql.parser.SqlParseException: Lexical error at
> line 1, column 15.  Encountered: "`" (96), after : ""
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.convertException(SqlParserImpl.java:281)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.normalizeException(SqlParserImpl.java:44)
>         at org.eigenbase.sql.parser.SqlParser.parseStmt(SqlParser.java:138)
>         at
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare2_(OptiqPrepareImpl.java:235)
>         ... 10 more
> Caused by: org.eigenbase.sql.parser.impl.TokenMgrError: Lexical error at
> line 1, column 15.  Encountered: "`" (96), after : ""
>         at
> org.eigenbase.sql.parser.impl.SqlParserImplTokenManager.getNextToken(SqlParserImplTokenManager.java:4924)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_scan_token(SqlParserImpl.java:15281)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_3_245(SqlParserImpl.java:14738)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_3R_38(SqlParserImpl.java:14750)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_3R_42(SqlParserImpl.java:14643)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_3_73(SqlParserImpl.java:14951)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_2_73(SqlParserImpl.java:5338)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.TableRef(SqlParserImpl.java:1379)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.FromClause(SqlParserImpl.java:1286)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.SqlSelect(SqlParserImpl.java:633)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.LeafQuery(SqlParserImpl.java:399)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.LeafQueryOrExpr(SqlParserImpl.java:2055)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.QueryOrExpr(SqlParserImpl.java:2017)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.OrderedQueryOrExpr(SqlParserImpl.java:377)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.SqlStmt(SqlParserImpl.java:573)
>         at
> org.eigenbase.sql.parser.impl.SqlParserImpl.SqlStmtEof(SqlParserImpl.java:599)
>         at org.eigenbase.sql.parser.SqlParser.parseStmt(SqlParser.java:130)
>         ... 11 more
>
>
> Thanks.
>
>
> ------------------ 原始邮件 ------------------
> 发件人: "Jason Altekruse";<altekrusejason@gmail.com>;
> 发送时间: 2014年5月23日(星期五) 晚上10:20
> 收件人: "Apache Drill User"<drill-user@incubator.apache.org>;
>
> 主题: Re: error when querying a csv file with drill.
>
>
>
> Hello Bevin,
>
> Welcome to the Drill community! For your error it looks like there is an
> issue parsing the table name. Table names are expected to be surrounded by
> back-ticks instead of single quotes, for more info you can read this post
> on the wiki.
>
> https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+in+10+Minutes
>
> -Jason
>
>
> On Fri, May 23, 2014 at 6:15 AM, 南在南方 <i02389@qq.com> wrote:
>
> > Here is my storage-plugins.json:
> > {
> >   "storage":{
> >     dfs: {
> >       type: "file",
> >       connection: "file:///"
> >       },
> >       formats: {
> >         "psv" : {
> >           type: "text",
> >           extensions: [ "tbl" ],
> >           delimiter: "|"
> >         },
> >         "csv" : {
> >           type: "text",
> >           extensions: [ "csv" ],
> >           delimiter: ","
> >         },
> >         "tsv" : {
> >           type: "text",
> >           extensions: [ "tsv" ],
> >           delimiter: "\t"
> >         },
> >         "parquet" : {
> >           type: "parquet"
> >         },
> >         "json" : {
> >           type: "json"
> >         }
> >       }
> >     },
> >     cp: {
> >       type: "file",
> >       connection: "classpath:///"
> >     }
> >   }
> > }I connect drill with string "sqlline -u jdbc:drill:schema=dfs -n admin
> -p
> > admin"
> >
> > bevin@le:/opt/apache-drill-1.0.0-m1/bin$ sqlline -u
> jdbc:drill:schema=dfs
> > -n admin -p admin
> >
> >
> > Loaded singnal handler: SunSignalHandler
> > /home/bevin/.sqlline/sqlline.properties (没有那个文件或目录)
> > scan complete in 18ms
> > scan complete in 2693ms
> > Connecting to jdbc:drill:schema=dfs
> > Connected to: Drill (version 1.0)
> > Driver: Apache Drill JDBC Driver (version 1.0)
> > Autocommit status: true
> > Transaction isolation: TRANSACTION_REPEATABLE_READ
> > sqlline version ??? by Marc Prud'hommeauxThen run a query(the file path
> is
> > right) :
> > 0: jdbc:drill:schema=dfs> select * from "/home/bevin/AllstarFull.csv";
> > 五月 23, 2014 7:09:14 下午 org.eigenbase.sql.validate.SqlValidatorException
> > <init>
> > 严重: org.eigenbase.sql.validate.SqlValidatorException: Table
> > '/home/bevin/AllstarFull.csv' not found
> > 五月 23, 2014 7:09:14 下午 org.eigenbase.util.EigenbaseException <init>
> > 严重: org.eigenbase.util.EigenbaseContextException: From line 1, column 15
> > to line 1, column 43
> > org.eigenbase.util.EigenbaseContextException: From line 1, column 15 to
> > line 1, column 43
> >         at
> >
> org.eigenbase.resource.EigenbaseResource$_Def12.ex(EigenbaseResource.java:1026)
> >         at
> org.eigenbase.sql.SqlUtil.newContextException(SqlUtil.java:739)
> >         at
> org.eigenbase.sql.SqlUtil.newContextException(SqlUtil.java:726)
> >         at
> >
> org.eigenbase.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:3830)
> >         at
> >
> org.eigenbase.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:78)
> >         at
> >
> org.eigenbase.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:90)
> >         at
> >
> org.eigenbase.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:802)
> >         at
> >
> org.eigenbase.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:790)
> >         at
> >
> org.eigenbase.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:2776)
> >         at
> >
> org.eigenbase.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3013)
> >         at
> >
> org.eigenbase.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:69)
> >         at
> >
> org.eigenbase.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:90)
> >         at
> >
> org.eigenbase.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:802)
> >         at
> >
> org.eigenbase.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:790)
> >         at org.eigenbase.sql.SqlSelect.validate(SqlSelect.java:154)
> >         at
> >
> org.eigenbase.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:753)
> >         at
> >
> org.eigenbase.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:444)
> >         at
> >
> org.eigenbase.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:445)
> >         at
> > net.hydromatic.optiq.prepare.Prepare.prepareSql(Prepare.java:160)
> >         at
> > net.hydromatic.optiq.prepare.Prepare.prepareSql(Prepare.java:129)
> >         at
> >
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare2_(OptiqPrepareImpl.java:255)
> >         at
> >
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:195)
> >         at
> >
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:168)
> >         at
> >
> net.hydromatic.optiq.jdbc.OptiqStatement.parseQuery(OptiqStatement.java:402)
> >         at
> > net.hydromatic.optiq.jdbc.OptiqStatement.execute(OptiqStatement.java:192)
> >         at sqlline.SqlLine$Commands.execute(SqlLine.java:3825)
> >         at sqlline.SqlLine$Commands.sql(SqlLine.java:3738)
> >         at sqlline.SqlLine.dispatch(SqlLine.java:882)
> >         at sqlline.SqlLine.begin(SqlLine.java:717)
> >         at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:460)
> >         at sqlline.SqlLine.main(SqlLine.java:443)
> > Caused by: org.eigenbase.sql.validate.SqlValidatorException: Table
> > '/home/bevin/AllstarFull.csv' not found
> >         at
> >
> org.eigenbase.resource.EigenbaseResource$_Def9.ex(EigenbaseResource.java:963)
> >         ... 27 more0: jdbc:drill:schema=dfs> select * from
> > `/home/bevin/AllstarFull.csv`;
> > java.lang.RuntimeException: parse failed
> >         at
> >
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare2_(OptiqPrepareImpl.java:237)
> >         at
> >
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:195)
> >         at
> >
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:168)
> >         at
> >
> net.hydromatic.optiq.jdbc.OptiqStatement.parseQuery(OptiqStatement.java:402)
> >         at
> > net.hydromatic.optiq.jdbc.OptiqStatement.execute(OptiqStatement.java:192)
> >         at sqlline.SqlLine$Commands.execute(SqlLine.java:3825)
> >         at sqlline.SqlLine$Commands.sql(SqlLine.java:3738)
> >         at sqlline.SqlLine.dispatch(SqlLine.java:882)
> >         at sqlline.SqlLine.begin(SqlLine.java:717)
> >         at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:460)
> >         at sqlline.SqlLine.main(SqlLine.java:443)
> > Caused by: org.eigenbase.sql.parser.SqlParseException: Lexical error at
> > line 1, column 15.  Encountered: "`" (96), after : ""
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.convertException(SqlParserImpl.java:281)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.normalizeException(SqlParserImpl.java:44)
> >         at
> org.eigenbase.sql.parser.SqlParser.parseStmt(SqlParser.java:138)
> >         at
> >
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare2_(OptiqPrepareImpl.java:235)
> >         ... 10 more
> > Caused by: org.eigenbase.sql.parser.impl.TokenMgrError: Lexical error at
> > line 1, column 15.  Encountered: "`" (96), after : ""
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImplTokenManager.getNextToken(SqlParserImplTokenManager.java:4924)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_scan_token(SqlParserImpl.java:15281)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_3_245(SqlParserImpl.java:14738)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_3R_38(SqlParserImpl.java:14750)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_3R_42(SqlParserImpl.java:14643)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_3_73(SqlParserImpl.java:14951)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_2_73(SqlParserImpl.java:5338)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.TableRef(SqlParserImpl.java:1379)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.FromClause(SqlParserImpl.java:1286)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.SqlSelect(SqlParserImpl.java:633)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.LeafQuery(SqlParserImpl.java:399)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.LeafQueryOrExpr(SqlParserImpl.java:2055)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.QueryOrExpr(SqlParserImpl.java:2017)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.OrderedQueryOrExpr(SqlParserImpl.java:377)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.SqlStmt(SqlParserImpl.java:573)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.SqlStmtEof(SqlParserImpl.java:599)
> >         at
> org.eigenbase.sql.parser.SqlParser.parseStmt(SqlParser.java:130)
> >         ... 11 more0: jdbc:drill:schema=dfs> select * from
> > '/home/bevin/AllstarFull.csv';
> > java.lang.RuntimeException: parse failed
> >         at
> >
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare2_(OptiqPrepareImpl.java:237)
> >         at
> >
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:195)
> >         at
> >
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:168)
> >         at
> >
> net.hydromatic.optiq.jdbc.OptiqStatement.parseQuery(OptiqStatement.java:402)
> >         at
> > net.hydromatic.optiq.jdbc.OptiqStatement.execute(OptiqStatement.java:192)
> >         at sqlline.SqlLine$Commands.execute(SqlLine.java:3825)
> >         at sqlline.SqlLine$Commands.sql(SqlLine.java:3738)
> >         at sqlline.SqlLine.dispatch(SqlLine.java:882)
> >         at sqlline.SqlLine.begin(SqlLine.java:717)
> >         at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:460)
> >         at sqlline.SqlLine.main(SqlLine.java:443)
> > Caused by: org.eigenbase.sql.parser.SqlParseException: Encountered
> > "\'/home/bevin/AllstarFull.csv\'" at line 1, column 15.
> > Was expecting one of:
> >     <IDENTIFIER> ...
> >     <QUOTED_IDENTIFIER> ...
> >     <UNICODE_QUOTED_IDENTIFIER> ...
> >     "LATERAL" ...
> >     "(" ...
> >     "UNNEST" ...
> >     "TABLE" ...
> >
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.convertException(SqlParserImpl.java:281)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.normalizeException(SqlParserImpl.java:44)
> >         at
> org.eigenbase.sql.parser.SqlParser.parseStmt(SqlParser.java:138)
> >         at
> >
> net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare2_(OptiqPrepareImpl.java:235)
> >         ... 10 more
> > Caused by: org.eigenbase.sql.parser.impl.ParseException: Encountered
> > "\'/home/bevin/AllstarFull.csv\'" at line 1, column 15.
> > Was expecting one of:
> >     <IDENTIFIER> ...
> >     <QUOTED_IDENTIFIER> ...
> >     <UNICODE_QUOTED_IDENTIFIER> ...
> >     "LATERAL" ...
> >     "(" ...
> >     "UNNEST" ...
> >     "TABLE" ...
> >
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.generateParseException(SqlParserImpl.java:15443)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.jj_consume_token(SqlParserImpl.java:15272)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.TableRef(SqlParserImpl.java:1423)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.FromClause(SqlParserImpl.java:1286)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.SqlSelect(SqlParserImpl.java:633)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.LeafQuery(SqlParserImpl.java:399)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.LeafQueryOrExpr(SqlParserImpl.java:2055)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.QueryOrExpr(SqlParserImpl.java:2017)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.OrderedQueryOrExpr(SqlParserImpl.java:377)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.SqlStmt(SqlParserImpl.java:573)
> >         at
> >
> org.eigenbase.sql.parser.impl.SqlParserImpl.SqlStmtEof(SqlParserImpl.java:599)
> >         at
> org.eigenbase.sql.parser.SqlParser.parseStmt(SqlParser.java:130)
> >         ... 11 moreI can't figure out what happened during the query ,
> PLZ
> > give me some help!
> > THANKS
> > BEVIN
>
Mime
  • Unnamed multipart/alternative (inline, 8-Bit, 0 bytes)
View raw message