设置了一个采集方案把客户端的数据发送到kafka消费者,然后再由消费者数据上传到hive上面。
通过使用hudi对数据进行落地,在hive中却无法查表
NoViableAltException(-1@[146:1: fromSource : ( ( LPAREN KW_VALUES )=> fromSourcehive(odw_news)>select * from user; NoViableAltException(-1@[146:1: fromSource : ( ( LPAREN KW_VALUES )=> fromSource0 | ( LPAREN )=> LPAREN joinSource RPAREN -> joinSource | fromSource0 );]) at org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser$DFA19.specialStateTransition(HiveParser_FromClauseParser.java:11641) at org.antlr.runtime.DFA.predict(DFA.java:80) at org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.fromSource(HiveParser_FromClauseParser.java:3813) at org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.joinSource(HiveParser_FromClauseParser.java:1959) at org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.fromClause(HiveParser_FromClauseParser.java:1584) at org.apache.hadoop.hive.ql.parse.HiveParser.fromClause(HiveParser.java:51810) at org.apache.hadoop.hive.ql.parse.HiveParser.selectStatement(HiveParser.java:45682) at org.apache.hadoop.hive.ql.parse.HiveParser.regularBody(HiveParser.java:45568) at org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementexpressionBody(HiveParser.java:44584) at org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementexpression(HiveParser.java:44454) at org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:1696) at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1178) at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:204) at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:444) at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1242) at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1384) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1171) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1161) at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:232) at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:183) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:399) at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:776) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641) 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.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136) FAILED: ParseException line 1:18 cannot recognize input near 'user' '' ' ' in from source
为什么会报无效异常呢?
其实hive中的表名不能设置特殊用户名,比如user。
可是我们的表名就是user
所以在hive中查询应该是
select * from `user`;
特殊字符一定要用反单引号括起来!



