2012-06-30 24 views
1

我是Hive,MapReduce和Hadoop的新手。 我使用Putty连接到配置单元表并访问表中的记录。所以我所做的是 - 我打开Putty并输入主机名称 - vip.name.com,然后单击Open。然后我输入了我的用户名和密码,然后输入了一些命令进入Hive sql。下面是列表我做过什么访问SQLClient中的Hive表,但不是来自Putty

$ bash 
bash-3.00$ hive 
Hive history file=/tmp/rkost/hive_job_log_rkost_201207010451_1212680168.txt 
hive> set mapred.job.queue.name=mdhi-technology; 
hive> select * from table LIMIT 1; 

所以我是 -

问题是,有没有其他的方法可以让我做同样的事情在任何SQL客户端如SQL Developer或Squirel SQL客户端,而不是这样做的从命令提示符。如果它在那里,那么考虑我的例子,这是一步一步的过程,因为我正在从Putty登录到vip.name.com

同样的事情,如果我需要通过我的Windows机器上的JDBC程序来做,那我该怎么做。使用JDBC程序的手段,我如何访问Hive表并将结果返回。正如我知道我可以如何使用oracle表执行此操作。但我唯一的困惑是,因为我使用这个主机名vip.name.com登录到腻子。我希望问题清楚。任何建议将不胜感激。

总之我的问题是 - 我可以在任何SQLClient中做同样的事情,而不是从腻子中记录?

更新 -

我试图做马克曾建议我的方式。但我总是越来越 -​​

回答

1

你在做什么与腻子是SSH'ing到一台机器与Hive安装和设置。然后,您将从Hive命令行发出Hive查询。这是发布Hive查询的一种方式。还有其他一些不需要SSH的方法,你可能需要的是通过JDBC进行连接。

Here是一篇文章,介绍如何使用SQuirreL通过JDBC连接到Amazon EMR集群上的Hive安装。这篇文章似乎是亚马逊特有的,但事实并非如此。只要Hive服务器在群集的其中一个节点上运行,并且没有防火墙阻止客户端计算机和运行Hive的计算机之间的连接,则应该能够连接。

你可能要牢记以上相关的链接

有两件事情:

  • 可以忽略第3步在它要求你,除非你正在使用EMR来创建一个SSH隧道。
  • 您在连接URI中输入的端口在您的情况下可能会有所不同。将localhost替换为运行Hive的计算机的完全限定域名。要找出Hive服务器正在监听的端口,可以查看日志目录(其位置取决于您的安装)中的Hive服务器保姆日志文件,或运行简单的netstat -a命令。我相信10000是默认端口号,因此直接尝试10000可能有意义。
+0

是的,而不是本地主机,请使用完全限定的域名(ares-ingest.vip.host.com)。对于你的端口,你能试试10000吗? –