Connecting to Hive using Beeline

2019-02-07 02:17发布

问题:

I am trying to connect to hive installed in my machine through Beeline client. when I give the 'beeline' command & connect to Hive, the client is asking for user name & password

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

I have no idea what is the user name and password I am supposed to give. Do I have to add the credential(user name & password) in some configuration file?

回答1:

no username and no password.

!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>

Just press enter. It works for me.

Or try this.

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


回答2:

Accessing HIVE via Beeline:

Starting beeline client

beeline --incremental=true

Note: The command line option “—incremental=true” is optional, but will extend the amount of time that you can remain idle and not have your connection dropped.

Connecting to hive2 server

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

Note: You will be prompted for your username & password. USE user name and Password

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: *********

Setting Your Queue (if any)

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

Note: You need to set a queue in order to run queries.

Setting Your Database

USE google_map_data;

Note: You should be in a database when executing queries.

Reconnecting an inactive session

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

Quitting beeline client

!quit

Notes:

  • Loading beeline, the URL and providing your username & password in one command:

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

Basic Beeline Queries

Beeline supports a rich set of SQL query functions.

Getting Information About Data

SHOW DATABASES;
USE <database>;

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

Simple limited select statements

SELECT * FROM google_map_city limit 25;


回答3:

You can use blank username and password as @sravan mentioned. This will execute the query as the user that the hiveserver2 process is running as.

However, if you have set the hive.server2.enable.doAs property in your hive-site.xml or put it in hiveconf while running hiveserver2 then you can optionally pass a username and password via the prompt. In this case hive will execute the query as the passed username using the given password. The username here is a system username.

In some scenarios it's required - say you are running the hiveserver2 process as the user 'hive' but you have an external table defined with HDFS path /user/alex/table1, which is owned by the user 'alex' and no other user has read/write access on this location. In this case running the query as 'hive' - by putting empty username and password - will not work since it will not be able to access the directory and throw a permission denied Exception.



回答4:

Using beeline to hive server where Kerberos Security is enabled

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

Example

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


回答5:

It is user id and password that is used to login to the unix box of the cluster. Some times it is the edge nodes credentials that you use to login using putty. The best way to avoid this is by using the below command

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

If you are already logged in to some node through putty you won't be prompted with any user id or password.



回答6:

• Loading beeline, the URL and providing your username & password in one command:

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


回答7:

Yes, you can set the username and password in the hive-site.xml file inside tge conf folder. Default credentials are APP/mine.

how to get database username and password in hive