今天刚入手doris,部署了单节点 doris3.0.3 , minio 验证:https://doris.apache.org/zh-CN/docs/3.0/lakehouse/file 中的读取minio中的文件时一直失败
minio中数据 :
vi 1.csv
1|2
2|3
/usr/local/bin/mc mv /opt/1.csv myminio/doris
doris查询语句:
SELECT * FROM s3 (
"URI" = "http://192.168.1.5:9002/doris/1.csv",
"s3.access_key"= "lj6KrKtSngKhgQ9iFFfR",
"s3.secret_key" = "elmqZYUrE02sbpAR5Wy86lEgEqSqfDdTd4ucYqez",
"format" = "csv",
"column_separator" = "|",
"csv_schema" = "k1:int;k2:int",
"use_path_style"="true"
);
doris界面log页签日志如下:
2024-12-08 00:18:23,156 WARN (mysql-nio-pool-26|198) [ConnectProcessor.handleQueryException():468] Process one query failed because.
org.apache.doris.common.AnalysisException: errCode = 2, detailMessage =
mismatched input 'SEPARATOR' expecting {')', ','}(line 1, pos 225)
at org.apache.doris.qe.ConnectProcessor.executeQuery(ConnectProcessor.java:299) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:243) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.qe.MysqlConnectProcessor.handleQuery(MysqlConnectProcessor.java:209) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.qe.MysqlConnectProcessor.dispatch(MysqlConnectProcessor.java:237) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.qe.MysqlConnectProcessor.processOnce(MysqlConnectProcessor.java:414) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52) ~[doris-fe.jar:1.2-SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: org.apache.doris.nereids.exceptions.ParseException:
mismatched input 'SEPARATOR' expecting {')', ','}(line 1, pos 225)
at org.apache.doris.nereids.parser.ParseErrorListener.syntaxError(ParseErrorListener.java:43) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41) ~[antlr4-runtime-4.13.1.jar:4.13.1]
at org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:544) ~[antlr4-runtime-4.13.1.jar:4.13.1]
at org.antlr.v4.runtime.DefaultErrorStrategy.reportInputMismatch(DefaultErrorStrategy.java:327) ~[antlr4-runtime-4.13.1.jar:4.13.1]
at org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:139) ~[antlr4-runtime-4.13.1.jar:4.13.1]
at org.apache.doris.nereids.DorisParser.functionCallExpression(DorisParser.java:46912) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.primaryExpression(DorisParser.java:46025) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.valueExpression(DorisParser.java:44285) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.booleanExpression(DorisParser.java:43220) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.expression(DorisParser.java:42476) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.namedExpression(DorisParser.java:42331) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.namedExpressionSeq(DorisParser.java:42417) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.selectColumnClause(DorisParser.java:36681) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.selectClause(DorisParser.java:36628) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.querySpecification(DorisParser.java:36285) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.queryPrimary(DorisParser.java:36188) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.queryTerm(DorisParser.java:35959) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.query(DorisParser.java:35855) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.relationPrimary(DorisParser.java:39880) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.joinRelation(DorisParser.java:37227) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.relation(DorisParser.java:37148) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.relations(DorisParser.java:37069) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.fromClause(DorisParser.java:36794) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.querySpecification(DorisParser.java:36302) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.queryPrimary(DorisParser.java:36188) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.queryTerm(DorisParser.java:35959) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.query(DorisParser.java:35855) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.statementBase(DorisParser.java:1428) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.statement(DorisParser.java:916) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.DorisParser.multiStatements(DorisParser.java:541) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.parser.NereidsParser.toAst(NereidsParser.java:335) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.parser.NereidsParser.parse(NereidsParser.java:276) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.parser.NereidsParser.parseMultiple(NereidsParser.java:255) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.parser.NereidsParser.parseSQL(NereidsParser.java:101) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.parser.NereidsParser.parseSQL(NereidsParser.java:87) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.parser.NereidsParser.parseSQLWithDialect(NereidsParser.java:226) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.parser.NereidsParser.parseSQL(NereidsParser.java:94) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.qe.ConnectProcessor.executeQuery(ConnectProcessor.java:289) ~[doris-fe.jar:1.2-SNAPSHOT]
... 8 more
navicate中报错是另一类信息:
1105 - errCode = 2, detailMessage = Can not build s3(): errCode = 2, detailMessage = parse file failed, err: errCode = 2, detailMessage = S3TvfBroker list path exception. path=s3://doris/1.csv, err: errCode = 2, detailMessage = errors while get file status getFileStatus on s3://doris/1.csv: com.amazonaws.SdkClientException: Unable to execute HTTP request: Unsupported or unrecognized SSL message: Unable to execute HTTP request: Unsupported or unrecognized SSL message
时间: 127.925s
minio中桶设置成public,浏览器可以直接访问亦是此异常。
文件换成parquet,错误类似