微信搜索bigdata029 | 邀请体验:数阅–数据管理、OLAP分析与可视化平台 | 订阅本站 | 赞助作者:赞助作者

连接Hive的客户端界面工具–SQuirrel SQL Client

Hive lxw1234@qq.com 19539℃ 15评论

关键字:Hive客户端、界面、SQuirrel SQL Client

刚看到一个可以连接Hive的客户端界面工具–SQuirrel SQL Client,试了一下,用起来还行,在这里记录一下安装及使用方法。

SQuirrel SQL Client是一个用Java写的数据库客户端,用JDBC统一数据库访问接口以后,可以通过一个统一的用户界面来操作MySQL、PostgreSQL、MSSQL、Oracle、Hive等等任何支持JDBC访问的数据库。使用起来非常方便。而且,SQuirrel SQL Client还是一个典型的Swing程序,也算是Swing的一个比较成功的应用了。

当然,可以在windows中来连接Hive。

在使用SQuirrel SQL Client链接Hive之前,首先确保HiveServer2服务已经启动,并且有访问权限。

SQuirrel SQL Client的官网及下载地址为:http://squirrel-sql.sourceforge.net/

目前最新版本为3.7,可以在http://squirrel-sql.sourceforge.net/#installation页面下载jar包squirrel-sql-3.7-standard.jar

下载后,双击squirrel-sql-3.7-standard.jar,即可启动安装程序。

安装到这一步,需要勾选简体中文:

SQuirrel SQL Client

继续往下,直至安装完毕。从开始菜单中打开SQuirrel SQL Client,点击最左侧的”Drivers”驱动tab页,点击添加(+)来添加Hive的驱动配置:

SQuirrel SQL Client

在弹出的添加驱动对话框中填入Hive的驱动信息:

SQuirrel SQL Client

注意:在”Extra Class Path”中,需要加入运行Hive所依赖的jar包,我这里将$HIVE_HOME/lib/下的所有jar包,以及Hadoop的核心jar包,

还有slf4j的两个jar包都添加进去。最后点击OK确定。

接着,进入最左侧的”Aliases”别名tab页面,点击添加(+),建立一个Hive的链接:

SQuirrel SQL Client

在弹出的添加别名对话框中,填入以下信息(Driver选择上面新建的HiveDriver):

SQuirrel SQL Client

点击OK确定之后,弹出链接对话框:

SQuirrel SQL Client

点击”Connect”链接Hive。链接成功之后,首页如下:

SQuirrel SQL Client

 

双击左侧的Objects下面的TABLE标签,即可列出Hive中所有的表:

SQuirrel SQL Client

选中一个表,可以看到该表的概要信息。

切换到SQL标签页,可以在这里编辑和执行SQL:

SQuirrel SQL Client

点击执行后,在下面显示出执行结果。其中的”Overview / Charts”页比较有意思:

SQuirrel SQL Client

在点击Charts–>Open char window之后,弹出一个新的对话框,里面将查询结果做了一个图表分析,如下图所示:

SQuirrel SQL Client

 

另外,SQuirrel SQL Client还可以保存、导出查询结果等等,有兴趣的可以自己尝试一下,使用很简单。

您可以关注 lxw的大数据田地 ,或者 加入邮件列表 ,随时接收博客更新的通知邮件。

 

 

 

如果觉得本博客对您有帮助,请 赞助作者

转载请注明:lxw的大数据田地 » 连接Hive的客户端界面工具–SQuirrel SQL Client

喜欢 (16)
分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(15)个小伙伴在吐槽
  1. 很赞,哈哈
    smarthub2015-10-23 13:12 回复
  2. 请问 驱动都是什么呢?
    zeri2016-01-14 16:35 回复
    • 什么意思?
      lxw1234@qq.com2016-01-15 08:39 回复
      • 请问 Jar包加的都是什么呢?
        神游天下2016-02-02 13:54 回复
        • 我这里将$HIVE_HOME/lib/下的所有jar包,以及Hadoop的核心jar包, 还有slf4j的两个jar包都添加进去
          lxw1234@qq.com2016-02-03 08:24 回复
  3. 请问下,这个管理工具能不能添加hive数据库呢???
    Taylover2016-03-02 10:57 回复
  4. 你好,请问这个登陆的user name和password是怎么创建的?
    奔跑啊天行者2016-03-15 21:59 回复
    • 这个用户名和密码是HiveServer2设置的,如果没启用,留空即可。
      lxw1234@qq.com2016-03-16 11:13 回复
      • 之前没注意到前面说的要确保HiveServer2服务已经启动,但是我启动这个服务就卡住, Starting HiveServer2 16/03/23 13:10:19 INFO Configuration.deprecation: mapred.input.dir.recursive is deprecated. Instead, use mapreduce.input.fileinputformat.input.dir.recursive 16/03/23 13:10:19 INFO Configuration.deprecation: mapred.max.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.maxsize 16/03/23 13:10:19 INFO Configuration.deprecation: mapred.min.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize 16/03/23 13:10:19 INFO Configuration.deprecation: mapred.min.split.size.per.rack is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.rack 16/03/23 13:10:19 INFO Configuration.deprecation: mapred.min.split.size.per.node is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.node 16/03/23 13:10:19 INFO Configuration.deprecation: mapred.reduce.tasks is deprecated. Instead, use mapreduce.job.reduces 16/03/23 13:10:19 INFO Configuration.deprecation: mapred.reduce.tasks.speculative.execution is deprecated. Instead, use mapreduce.reduce.speculative 16/03/23 13:10:20 WARN conf.Configuration: org.apache.hadoop.hive.conf.LoopingByteArrayInputStream@3e201c15:an attempt to override final parameter: mapreduce.job.end-notification.max.retry.interval; Ignoring. 16/03/23 13:10:20 WARN conf.Configuration: org.apache.hadoop.hive.conf.LoopingByteArrayInputStream@3e201c15:an attempt to override final parameter: mapreduce.job.end-notification.max.attempts; Ignoring. SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/hive/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 到这就卡住不动了,请问这是什么原因造成的?
        奔跑啊天行者2016-03-23 13:44 回复
        • 应该是正常的,看看HiveServer2进程在不在。 使用JDBC链接操作之后,才会有新的日志打印出来。
          lxw1234@qq.com2016-03-23 15:59 回复
          • 原来是这样啊,打印到这,用客户端连接了下瞬间进去了,恍然大悟啊,之前以为就卡死了,都没尝试过连接 :arrow: :arrow: :arrow: 非常感谢你的帮助!
            奔跑啊天行者2016-03-24 22:06
  5. 我客户端安装在本地,然后访问服务器上的hadoop,这样的话hive驱动怎么添加?需要下载到本地吗?
    simon2016-08-01 17:44 回复
  6. 把jar包引入之后,alias时, test错误,显示Unexpected Error occurred attempting to open an SQL connection. : java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/facebook/fb303/FacebookService$Iface at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:262) at java.util.concurrent.FutureTask.get(FutureTask.java:119) at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132) at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45) at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/facebook/fb303/FacebookService$Iface at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:175) at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$000(OpenConnectionCommand.java:45) at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$1.run(OpenConnectionCommand.java:104) ... 6 more Caused by: java.lang.NoClassDefFoundError: com/facebook/fb303/FacebookService$Iface at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:106) at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:133) at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:167) ... 8 more Caused by: java.lang.ClassNotFoundException: com.facebook.fb303.FacebookService$Iface at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 47 more
    new2016-08-16 15:31 回复
  7. 我知道了,是因为 hadoop没有启动 :?:
    new2016-08-16 15:48 回复
  8. 用的是HiveServer不是HiveServer2怎么解决啊
    1112016-11-21 16:07 回复