web-dev-qa-db-ja.com

Beelineを使用してHiveに接続する

Beelineクライアントを介して、マシンにインストールされているHiveに接続しようとしています。 「beeline」コマンドを入力してHiveに接続すると、クライアントはユーザー名とパスワードを要求しています

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

ユーザー名とパスワードを教えてください。構成ファイルに資格情報(ユーザー名とパスワード)を追加する必要がありますか?

14
Raj

ユーザー名とパスワードはありません。

!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 "" "" ""
12
Sravan K Reddy

Beeline経由でHiveにアクセスする:

ビーラインクライアントの起動

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

ノート:

  • ビーライン、URLを読み込んで、1つのコマンドでユーザー名とパスワードを入力します。
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;
12
Suman

Kerberosセキュリティが有効になっているHiveサーバーへのビーラインの使用

 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/[email protected];retries=3"

クラスターへのログインに使用されるのは、ユーザーIDとパスワードです。サーバーへのログインに使用するのは、エッジノードの資格情報である場合があります。これを回避する最善の方法は、以下のコマンドを使用することです

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

既にPuTTYを介してノードにログインしている場合、ユーザーIDまたはパスワードの入力は求められません。

[〜#〜] edit [〜#〜]

秘::ビーライン文字列全体を繰り返し入力しないようにするには、bash_profileファイルにエイリアスを作成することをお勧めします。

bashプロファイルに次の行を追加するだけです(@Harsimranjit Singh Klerが推奨するKerberosセキュリティを使用)beeline -u jdbc:Hive2://<hostname>:10000/default;principal=Hive/<hostname>@<realm>;ssl=true;およびbash_profile(source .bash_profile)これで完了です。次回beelineと入力すると、Hive2サーバーに接続します

@sravanが述べたように、空のユーザー名とパスワードを使用できます。これにより、hiveserver2プロセスを実行しているユーザーとしてクエリが実行されます。

ただし、Hive.server2.enable.doAsプロパティをHive-site.xmlに追加するか、hiveserver2の実行中にhiveconfに配置してから、オプションでプロンプトを介してユーザー名とパスワードを渡すことができます。この場合、Hiveは指定されたパスワードを使用して、渡されたユーザー名としてクエリを実行します。ここのユーザー名はシステムのユーザー名です。

いくつかのシナリオではそれが必要です-ユーザー 'hive'としてhiveserver2プロセスを実行しているが、ユーザー 'alex'が所有し、他のユーザーが所有していないHDFSパス/ user/alex/table1で定義された外部テーブルがあるとしますこの場所の読み取り/書き込みアクセス。この場合、空のユーザー名とパスワードを入力して「ハイブ」としてクエリを実行すると、ディレクトリにアクセスできず、アクセス許可拒否例外をスローできないため、機能しません。

3
Jit B

はい、tge confフォルダー内のHive-site.xmlファイルでユーザー名とパスワードを設定できます。デフォルトの資格情報はAPP/mineです。

Hiveでデータベースのユーザー名とパスワードを取得する方法

1
pras v