MYSQL を使用して HIVE メタストアをインストールおよび構成する方法

HIVE メタストアとは何ですか?

Hive メタストアは、MySQL または PostgreSQL を使用して Apache Hive に関連するメタデータ (カラム名、データ型、コメントなど) を格納するリポジトリです。 この Hive メタストアは、リレーショナル データベース内のテーブルを使用して実装されます。

Hive で MySQL をメタストアとして使用する理由:

  • デフォルトでは、Hive にはメタストアとして derby データベースが付属しています。
  • Derby データベースは一度に XNUMX 人のアクティブ ユーザーのみをサポートできます
  • Derby は実稼働環境では推奨されません

だから 溶液 ここは

  • MYSQL をバックエンドのメタ ストレージとして使用して、一度に複数のユーザーを Hive に接続します
  • MYSQL はスタンドアロン メタストアに最適です

Hive Metastore を MySQL データベースにインストールして構成する方法

ステップ1) MySQLサーバーをインストールします
このステップでは、XNUMX つのタスクを実行します。

  1. mysqlサーバーのインストール
  2. mysqlサーバーとそのプロセスを確認する
  1. 使い方 sudo apt-get install mysql-server コマンド、mysql サーバーをダウンロードできます

スクリーンショットに示されているように MySQL をインストールします

MySQL データベースへの Hive メタストアのインストールと構成

  1. 最後にインストールが正常に完了すると、以下のスクリーンショットに示すように MySQL が実行されます。

MySQL データベースへの Hive メタストアのインストールと構成

ステップ2) MySQL Java コネクタをインストールする
MySQLのインストール Java コネクタ。 これは Java の依存関係と接続を目的としています。

MySQL データベースへの Hive メタストアのインストールと構成

ステップ3) コネクタのソフトリンクを作成する
Hive lib ディレクトリにコネクタのソフト リンクを作成します。 これは Java と MySql 間のソフトリンク用です。

MySQL データベースへの Hive メタストアのインストールと構成

ステップ4) Hive での MySql ストレージの構成

MySQL データベースへの Hive メタストアのインストールと構成

  • 「MySql –u root –p」と入力し、続いてパスワードを入力します
  • ここで、 –u は root ユーザー名を表し、 p はパスワードを表します
  • 上記のコマンドを入力した後、ユーザーは有効なパスワードを入力して Enter をクリックする必要があります。
  • その後、MySql シェルモードに入ります。

ステップ5) ユーザー名とパスワードを作成する
MySql のユーザー名とパスワードを作成し、権限を付与します。

MySQL データベースへの Hive メタストアのインストールと構成

以下に示すようにコマンドを実行する必要があります。

mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword'; 
mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';
mysql>  flush privileges;

ステップ6) hive-site.xml の構成

  • ステップ 5 の後、ユーザー名とパスワードを MySQL データベースに割り当て、権限を与えます。
  • ここでは、MySQL データベースとの接続を取得するために Hive でいくつかのプロパティを構成します。

MySQL データベースへの Hive メタストアのインストールと構成

MySQL データベースへの Hive メタストアのインストールと構成

上のスクリーンショットから、次のことがわかります。wing。 ここでは、MYSQL をメタ ストアとして確立するために必要な 4 つのプロパティを定義しています。 ハイブ

これらは次のとおりです。

  1. このプロパティは接続 URL を目的としています。 ここでは、このプロパティで ConnectionURL を定義しています。 これは、JDBC 接続として機能し、メタストアの場所を表すものとしても機能します。
  2. このプロパティは接続ドライバー名用です。 ここで、mysql.jdbc.Driver は、value タグで言及する必要がある尊重される値です。
  3. このプロパティは、接続ユーザー名を定義するために使用されます。 ここではユーザー名として「hiveguru」を定義しました
  4. このプロパティは、接続パスワードを指定するために使用されます。 ここでは、パスワードをユーザーのパスワードとして定義しました。

プロパティを hive –site.xml に配置したら、手動で保存 (Ctrl+S) してファイルを閉じる必要があります。このファイルを閉じた後、Hive テーブルを作成し、テーブルの内容を確認する必要があります。tails MySQLストレージ内。

このコードを hive-site.xml に配置します。

ハイブサイト.xml

<configuration>
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
		<description>metadata is stored in a MySQL server</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
		<description>MySQL JDBC driver class</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>hiveuser</value>
		<description>user name for connecting to mysql server</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>hivepassword</value>
		<description>password for connecting to mysql server</description>
	</property>
</configuration>

ステップ7) テーブルを作成
Hive にテーブル「guru99」を作成します。

MySQL データベースへの Hive メタストアのインストールと構成

上のスクリーンショットから、次のことがわかります。wing

  • 99つの列名を持つテーブル名「guruXNUMX」の作成
  • 列名はそのデータ型とともに示されており、XNUMX つは整数型、もう XNUMX つは文字列型です。

次のステップでは、MySql に保存されているかどうかを確認します。

ステップ8) MySQL シェル モードに入る

MySQL データベースへの Hive メタストアのインストールと構成

上のスクリーンショットから、次のことがわかります。wing

  • まずデータベースを「メタストアを使用」として使用する必要があります。
  • メタ ストアを選択したら、スクリーンショットに示すように、「show」tables コマンドを使用して、この中に存在するテーブルを確認できます。
  • Hive で作成されたテーブルが何であれ、そのテーブルに対応するメタデータは MySQL データベースの TBLS の下に保存されます。
  • 「Guur99 テーブル」は Hive で作成されるため、対応するメタデータは MySQL の TBLS の下に保存されます。

ステップ9) select * from TBLS を入力してください
作成したテーブルがMySQLを提示しているかどうかを確認する

MySQL データベースへの Hive メタストアのインストールと構成

select * from TBLS と入力すると、Hive シェル モードで作成したテーブルが表示されます。

上のスクリーンショットから次のことがわかります。wing 物事:

  • 作成したテーブル名「guru99」はHiveで表示できます MySQL シェルモード
  • これに加えて、上のスクリーンショットに示すように、テーブルの作成時間、アクセス時間、その他のプロパティなどの情報も提供されます。