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 |