使用直线连接到Hive

时间:2015-03-18 02:50:08

标签: hadoop hive beeline

我正在尝试通过Beeline客户端连接到我的机器中安装的配置单元。当我给'直线''命令与连接到Hive,客户端要求用户名和&密码

!connect jdbc:hive2://localhost:10000/default

我不知道我应该给出的用户名和密码是什么。我是否必须在某些配置文件中添加凭据(用户名和密码)?

7 个答案:

答案 0 :(得分:10)

没有用户名和密码。

!connect jdbc:hive2://localhost:10000/default

  Enter username for jdbc:hive2://localhost:10000/default: <press Enter>
  Enter password for jdbc:hive2://localhost:10000/default: <press Enter>

按Enter键。它对我有用。

或试试这个。

!connect jdbc:hive2://localhost:10000/default "" "" ""

答案 1 :(得分:9)

通过直线访问HIVE:

启动beeline客户端

beeline --incremental=true

注意:命令行选项“-incremental = true”是可选的,但会延长您可以保持空闲状态而不会丢弃连接的时间。

连接到hive2服务器

!connect jdbc:hive2://silver-server-
hive.app.google.com:10000/default

注意:系统会提示您输入用户名和用户名。密码。使用用户名和密码

beeline> !connect jdbc:hive2:// silver-server-hive.app.google.com:10000/default
scan complete in 3ms
Connecting to jdbc:hive2:// silver-server-hive.app.google.com:10000/default
Enter username for jdbc:hive2:// silver-server-hive.app.google.com:10000/default:suman
Enter password for jdbc:hive2:// silver-server-hive.app.google.com:10000/default: *********

设置队列(如果有)

set mapred.job.queue.name=<your queue name>; 

注意:您需要设置队列才能运行查询。

设置数据库

USE google_map_data;

注意:执行查询时,您应该在数据库中。

重新连接非活动会话

!reconnect jdbc:hive2:// silver-server-hive.app.google.com:10000/default; 

退出直线客户端

!quit

注意:

  • 加载直线,网址并提供您的用户名和&amp;一个命令中的密码:

beeline -u jdbc:hive2:// silver-server-hive.app.google.com:10000\ 
-n <yourname> -p <yourpassword> --incremental=true**

基本直线查询

Beeline支持丰富的SQL查询功能。

获取有关数据的信息

SHOW DATABASES;
USE <database>;

SHOW TABLES;
DESC <table>;
DESC FORMATTED <table>;

简单有限的选择语句

SELECT * FROM google_map_city limit 25;

答案 2 :(得分:5)

使用beeline来启用启用了Kerberos Security的服务器

 beeline -u "jdbc:hive2://<Server Ip>:<port>/sample;principal=<hive user>/<Server Ip>@<relam>;retries=3"

实施例

 beeline -u "jdbc:hive2://10.10.10.10:8071/sample;principal=hive/10.10.10.10@abc.com;retries=3"

答案 3 :(得分:3)

您可以使用空白的用户名和密码,如@sravan所述。这将以hiveserver2进程正在运行的用户身份执行查询。

但是,如果您在hive-site.xml中设置了hive.server2.enable.doAs属性,或者在运行hiveserver2时将其放在hiveconf中,那么您可以选择通过提示传递用户名和密码。在这种情况下,hive将使用给定的密码将查询作为传递的用户名执行。这里的用户名是系统用户名。

在某些情况下,它是必需的 - 比如你正在运行hiveserver2进程作为用户'hive',但是你有一个用HDFS路径/ user / alex / table1定义的外部表,它由用户'alex'拥有而且没有其他用户在此位置具有读/写访问权限。在这种情况下,将查询作为“hive”运行 - 通过输入空的用户名和密码 - 将无法工作,因为它将无法访问该目录并抛出权限被拒绝异常。

答案 4 :(得分:1)

用于登录群集的unix框的用户ID和密码。有时,它是用于使用putty登录的边缘节点凭据。 避免这种情况的最佳方法是使用以下命令

beeline -u jdbc:hive2://localhost:10000/default

如果您已通过putty登录某个节点,则系统不会提示您输入任何用户ID或密码。

答案 5 :(得分:-1)

•加载直线,网址并提供您的用户名&amp;一个命令中的密码:

**beeline -u jdbc:hive2:// silver-server-hive.app.google.com:10000\ 
-n <yourname> -p <yourpassword> --incremental=true**

答案 6 :(得分:-1)

是的,您可以在tge hive-site.xml文件夹内的conf文件中设置用户名和密码。默认凭据为APP / mine

how to get database username and password in hive