基本的配置单元查询都抛出错误!有没有人有任何其他语法工作?或者是否存在钻头离开领先的错误。在查询的前面?
将https://repo1.maven.org/maven2/org/apache/hive/hive-jdbc/2.3.0/hive-jdbc-2.3.0-standalone.jar复制到/usr/lib/apache-drill-1.11.0/jars/3rdparty/hive-jdbc-2.3.0-standalone.jar
添加了此存储插件:
{
type": "jdbc",
"driver": "org.apache.hive.jdbc.HiveDriver",
"url": "jdbc:hive2://host:10000/default",
"username": "hive",
"password": "hive1234",
"enabled": true
}
-
[ec2-user@host ~]$ cd /usr/lib/apache-drill-1.11.0
[ec2-user@host apache-drill-1.11.0]$ ./bin/drill-embedded
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0
Nov 01, 2017 7:53:53 AM org.glassfish.jersey.server.ApplicationHandler initialize
INFO: Initiating Jersey application, version Jersey: 2.8 2014-04-29 01:25:26...
apache drill 1.11.0
"this isn't your grandfather's sql"
0: jdbc:drill:zk=local> SELECT count(*) FROM hive2.`contact`;
Error: DATA_READ ERROR: The JDBC storage plugin failed while trying setup the SQL query.
sql SELECT COUNT(*) AS EXPR$0
FROM (SELECT 0 AS $f0
FROM.default.contact) AS t
plugin hive2
Fragment 0:0
[Error Id: 4b293e97-7547-49c5-91da-b9ee2f2184fc on ip-myip.mydomain.orghere.com:31010] (state=,code=0)
0: jdbc:drill:zk=local> ALTER SESSION SET `exec.errors.verbose` = true;
+-------+-------------------------------+
| ok | summary |
+-------+-------------------------------+
| true | exec.errors.verbose updated. |
+-------+-------------------------------+
1 row selected (0.351 seconds)
0: jdbc:drill:zk=local> select * from hive2.contact;
Error: DATA_READ ERROR: The JDBC storage plugin failed while trying setup the SQL query.
sql SELECT *
FROM.default.contact
plugin hive2
Fragment 0:0
[Error Id: fe36b026-e8ff-4354-af6c-6073130680c9 on ip-ip.domain.org.com:31010]
(org.apache.hive.service.cli.HiveSQLException) Error while compiling statement: FAILED: ParseException line 2:4 cannot recognize input near '.' 'default' '.' in join source
org.apache.hive.jdbc.Utils.verifySuccess():267
org.apache.hive.jdbc.Utils.verifySuccessWithInfo():253
org.apache.hive.jdbc.HiveStatement.runAsyncOnServer():313
org.apache.hive.jdbc.HiveStatement.execute():253
org.apache.hive.jdbc.HiveStatement.executeQuery():476
org.apache.commons.dbcp.DelegatingStatement.executeQuery():208
org.apache.commons.dbcp.DelegatingStatement.executeQuery():208
org.apache.drill.exec.store.jdbc.JdbcRecordReader.setup():177
org.apache.drill.exec.physical.impl.ScanBatch.<init>():104
org.apache.drill.exec.physical.impl.ScanBatch.<init>():126
org.apache.drill.exec.store.jdbc.JdbcBatchCreator.getBatch():40
org.apache.drill.exec.store.jdbc.JdbcBatchCreator.getBatch():33
org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch():156
org.apache.drill.exec.physical.impl.ImplCreator.getChildren():179
org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch():136
org.apache.drill.exec.physical.impl.ImplCreator.getChildren():179
org.apache.drill.exec.physical.impl.ImplCreator.getRootExec():109
org.apache.drill.exec.physical.impl.ImplCreator.getExec():87
org.apache.drill.exec.work.fragment.FragmentExecutor.run():207
org.apache.drill.common.SelfCleaningRunnable.run():38
java.util.concurrent.ThreadPoolExecutor.runWorker():1149
java.util.concurrent.ThreadPoolExecutor$Worker.run():624
java.lang.Thread.run():748
Caused By (org.apache.hive.service.cli.HiveSQLException) Error while compiling statement: FAILED: ParseException line 2:4 cannot recognize input near '.' 'default' '.' in join source
org.apache.hive.service.cli.operation.Operation.toSQLException():380
org.apache.hive.service.cli.operation.SQLOperation.prepare():206
org.apache.hive.service.cli.operation.SQLOperation.runInternal():290
org.apache.hive.service.cli.operation.Operation.run():320
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal():530
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync():517
sun.reflect.GeneratedMethodAccessor86.invoke():-1
sun.reflect.DelegatingMethodAccessorImpl.invoke():43
java.lang.reflect.Method.invoke():498
org.apache.hive.service.cli.session.HiveSessionProxy.invoke():78
org.apache.hive.service.cli.session.HiveSessionProxy.access$000():36
org.apache.hive.service.cli.session.HiveSessionProxy$1.run():63
java.security.AccessController.doPrivileged():-2
javax.security.auth.Subject.doAs():422
org.apache.hadoop.security.UserGroupInformation.doAs():1807
org.apache.hive.service.cli.session.HiveSessionProxy.invoke():59
com.sun.proxy.$Proxy42.executeStatementAsync():-1
org.apache.hive.service.cli.CLIService.executeStatementAsync():310
org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement():530
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult():1437
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult():1422
org.apache.thrift.ProcessFunction.process():39
org.apache.thrift.TBaseProcessor.process():39
org.apache.hive.service.auth.TSetIpAddressProcessor.process():56
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run():286
java.util.concurrent.ThreadPoolExecutor.runWorker():1149
java.util.concurrent.ThreadPoolExecutor$Worker.run():624
java.lang.Thread.run():748
Caused By (java.lang.RuntimeException) org.apache.hadoop.hive.ql.parse.ParseException:line 2:4 cannot recognize input near '.' 'default' '.' in join source
org.apache.hadoop.hive.ql.parse.ParseDriver.parse():207
org.apache.hadoop.hive.ql.parse.ParseUtils.parse():77
org.apache.hadoop.hive.ql.parse.ParseUtils.parse():70
org.apache.hadoop.hive.ql.Driver.compile():468
org.apache.hadoop.hive.ql.Driver.compileInternal():1316
org.apache.hadoop.hive.ql.Driver.compileAndRespond():1294
org.apache.hive.service.cli.operation.SQLOperation.prepare():204
org.apache.hive.service.cli.operation.SQLOperation.runInternal():290
org.apache.hive.service.cli.operation.Operation.run():320
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal():530
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync():517
sun.reflect.GeneratedMethodAccessor86.invoke():-1
sun.reflect.DelegatingMethodAccessorImpl.invoke():43
java.lang.reflect.Method.invoke():498
org.apache.hive.service.cli.session.HiveSessionProxy.invoke():78
org.apache.hive.service.cli.session.HiveSessionProxy.access$000():36
org.apache.hive.service.cli.session.HiveSessionProxy$1.run():63
java.security.AccessController.doPrivileged():-2
javax.security.auth.Subject.doAs():422
org.apache.hadoop.security.UserGroupInformation.doAs():1807
org.apache.hive.service.cli.session.HiveSessionProxy.invoke():59
com.sun.proxy.$Proxy42.executeStatementAsync():-1
org.apache.hive.service.cli.CLIService.executeStatementAsync():310
org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement():530
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult():1437
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult():1422
org.apache.thrift.ProcessFunction.process():39
org.apache.thrift.TBaseProcessor.process():39
org.apache.hive.service.auth.TSetIpAddressProcessor.process():56
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run():286
java.util.concurrent.ThreadPoolExecutor.runWorker():1149
java.util.concurrent.ThreadPoolExecutor$Worker.run():624
java.lang.Thread.run():748 (state=,code=0)
0: jdbc:drill:zk=local> select * from hive2.`default`.contact;
Error: DATA_READ ERROR: The JDBC storage plugin failed while trying setup the SQL query.
sql SELECT *
FROM.default.contact
plugin hive2
Fragment 0:0
[Error Id: 7b7aae92-fabd-49dd-ab84-15ca00189882 on ip-ip.domain.org.com:31010]
(org.apache.hive.service.cli.HiveSQLException) Error while compiling statement: FAILED: ParseException line 2:4 cannot recognize input near '.' 'default' '.' in join source
org.apache.hive.jdbc.Utils.verifySuccess():267
org.apache.hive.jdbc.Utils.verifySuccessWithInfo():253
org.apache.hive.jdbc.HiveStatement.runAsyncOnServer():313
org.apache.hive.jdbc.HiveStatement.execute():253
org.apache.hive.jdbc.HiveStatement.executeQuery():476
org.apache.commons.dbcp.DelegatingStatement.executeQuery():208
org.apache.commons.dbcp.DelegatingStatement.executeQuery():208
org.apache.drill.exec.store.jdbc.JdbcRecordReader.setup():177
org.apache.drill.exec.physical.impl.ScanBatch.<init>():104
org.apache.drill.exec.physical.impl.ScanBatch.<init>():126
org.apache.drill.exec.store.jdbc.JdbcBatchCreator.getBatch():40
org.apache.drill.exec.store.jdbc.JdbcBatchCreator.getBatch():33
org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch():156
org.apache.drill.exec.physical.impl.ImplCreator.getChildren():179
org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch():136
org.apache.drill.exec.physical.impl.ImplCreator.getChildren():179
org.apache.drill.exec.physical.impl.ImplCreator.getRootExec():109
org.apache.drill.exec.physical.impl.ImplCreator.getExec():87
org.apache.drill.exec.work.fragment.FragmentExecutor.run():207
org.apache.drill.common.SelfCleaningRunnable.run():38
java.util.concurrent.ThreadPoolExecutor.runWorker():1149
java.util.concurrent.ThreadPoolExecutor$Worker.run():624
java.lang.Thread.run():748
Caused By (org.apache.hive.service.cli.HiveSQLException) Error while compiling statement: FAILED: ParseException line 2:4 cannot recognize input near '.' 'default' '.' in join source
org.apache.hive.service.cli.operation.Operation.toSQLException():380
org.apache.hive.service.cli.operation.SQLOperation.prepare():206
org.apache.hive.service.cli.operation.SQLOperation.runInternal():290
org.apache.hive.service.cli.operation.Operation.run():320
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal():530
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync():517
sun.reflect.GeneratedMethodAccessor86.invoke():-1
sun.reflect.DelegatingMethodAccessorImpl.invoke():43
java.lang.reflect.Method.invoke():498
org.apache.hive.service.cli.session.HiveSessionProxy.invoke():78
org.apache.hive.service.cli.session.HiveSessionProxy.access$000():36
org.apache.hive.service.cli.session.HiveSessionProxy$1.run():63
java.security.AccessController.doPrivileged():-2
javax.security.auth.Subject.doAs():422
org.apache.hadoop.security.UserGroupInformation.doAs():1807
org.apache.hive.service.cli.session.HiveSessionProxy.invoke():59
com.sun.proxy.$Proxy42.executeStatementAsync():-1
org.apache.hive.service.cli.CLIService.executeStatementAsync():310
org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement():530
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult():1437
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult():1422
org.apache.thrift.ProcessFunction.process():39
org.apache.thrift.TBaseProcessor.process():39
org.apache.hive.service.auth.TSetIpAddressProcessor.process():56
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run():286
java.util.concurrent.ThreadPoolExecutor.runWorker():1149
java.util.concurrent.ThreadPoolExecutor$Worker.run():624
java.lang.Thread.run():748
Caused By (java.lang.RuntimeException) org.apache.hadoop.hive.ql.parse.ParseException:line 2:4 cannot recognize input near '.' 'default' '.' in join source
org.apache.hadoop.hive.ql.parse.ParseDriver.parse():207
org.apache.hadoop.hive.ql.parse.ParseUtils.parse():77
org.apache.hadoop.hive.ql.parse.ParseUtils.parse():70
org.apache.hadoop.hive.ql.Driver.compile():468
org.apache.hadoop.hive.ql.Driver.compileInternal():1316
org.apache.hadoop.hive.ql.Driver.compileAndRespond():1294
org.apache.hive.service.cli.operation.SQLOperation.prepare():204
org.apache.hive.service.cli.operation.SQLOperation.runInternal():290
org.apache.hive.service.cli.operation.Operation.run():320
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal():530
org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync():517
sun.reflect.GeneratedMethodAccessor86.invoke():-1
sun.reflect.DelegatingMethodAccessorImpl.invoke():43
java.lang.reflect.Method.invoke():498
org.apache.hive.service.cli.session.HiveSessionProxy.invoke():78
org.apache.hive.service.cli.session.HiveSessionProxy.access$000():36
org.apache.hive.service.cli.session.HiveSessionProxy$1.run():63
java.security.AccessController.doPrivileged():-2
javax.security.auth.Subject.doAs():422
org.apache.hadoop.security.UserGroupInformation.doAs():1807
org.apache.hive.service.cli.session.HiveSessionProxy.invoke():59
com.sun.proxy.$Proxy42.executeStatementAsync():-1
org.apache.hive.service.cli.CLIService.executeStatementAsync():310
org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement():530
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult():1437
org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult():1422
org.apache.thrift.ProcessFunction.process():39
org.apache.thrift.TBaseProcessor.process():39
org.apache.hive.service.auth.TSetIpAddressProcessor.process():56
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run():286
java.util.concurrent.ThreadPoolExecutor.runWorker():1149
java.util.concurrent.ThreadPoolExecutor$Worker.run():624
java.lang.Thread.run():748 (state=,code=0)
0: jdbc:drill:zk=local>
答案 0 :(得分:0)
尝试通过Metastore连接到Hive:
https://drill.apache.org/docs/hive-storage-plugin/
或者您是否有任何理由直接连接到hiveserver2?