【发布时间】:2017-07-07 20:51:40
【问题描述】:
我关注Spark instructions 启动了一个节俭的 JDBC 服务器:
$ ./spark-2.1.1-bin-hadoop2.7/sbin/start-thriftserver.sh我可以从直线连接到它:
$ ./spark-2.1.1-bin-hadoop2.7/bin/beeline -u 'jdbc:hive2://localhost:10000' 连接到 jdbc:hive2://localhost:10000 log4j:WARN 找不到记录器 (org.apache.hive.jdbc.Utils) 的附加程序。 log4j:WARN 请正确初始化 log4j 系统。 log4j:WARN 有关详细信息,请参阅 http://logging.apache.org/log4j/1.2/faq.html#noconfig。 连接到:Spark SQL(2.1.1 版) 驱动程序:Hive JDBC(版本 1.2.1.spark2) 事务隔离:TRANSACTION_REPEATABLE_READ Apache Hive 的直线版本 1.2.1.spark2 0: jdbc:hive2://localhost:10000>但是,尝试使用 JDBC 和相同的连接字符串从 DataGrip 进行连接时,出现错误:
[2017-07-07 16:46:57] java.lang.ClassNotFoundException: org.apache.thrift.transport.TTransportException [2017-07-07 16:46:57] 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) [2017-07-07 16:46:57] 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) [2017-07-07 16:46:57] 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) [2017-07-07 16:46:57] 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) [2017-07-07 16:46:57] 在 org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105) [2017-07-07 16:46:57] 在 com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:27) [2017-07-07 16:46:57] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [2017-07-07 16:46:57] 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [2017-07-07 16:46:57] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [2017-07-07 16:46:57] 在 java.lang.reflect.Method.invoke(Method.java:498) [2017-07-07 16:46:57] 在 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:324) [2017-07-07 16:46:57] 在 sun.rmi.transport.Transport$1.run(Transport.java:200) [2017-07-07 16:46:57] 在 sun.rmi.transport.Transport$1.run(Transport.java:197) [2017-07-07 16:46:57] 在 java.security.AccessController.doPrivileged(本机方法) [2017-07-07 16:46:57] 在 sun.rmi.transport.Transport.serviceCall(Transport.java:196) [2017-07-07 16:46:57] 在 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) [2017-07-07 16:46:57] 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) [2017-07-07 16:46:57] 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) [2017-07-07 16:46:57] 在 java.security.AccessController.doPrivileged(本机方法) [2017-07-07 16:46:57] 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) [2017-07-07 16:46:57] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [2017-07-07 16:46:57] 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [2017-07-07 16:46:57] 在 java.lang.Thread.run(Thread.java:745) (无堆栈跟踪)我将 DataGrip 配置为使用 spark 安装文件夹中的 JDBC 库 hive-jdbc-1.2.1.spark2.jar。
【问题讨论】: