MYSQL で HIVE メタストアをインストールして構成する方法
HIVE メタストアとは何ですか?
Hive メタストアは、Apache Hive に関連するメタデータ (列名、データ型、コメントなど) を格納するリポジトリです。 MySQL or PostgreSQL。この Hive メタストアは、リレーショナル データベース内のテーブルを使用して実装されます。
使用する理由 MySQL Hive ではメタストアとして:
- デフォルトでは、Hive にはメタストアとして derby データベースが付属しています。
- Derby データベースは一度に XNUMX 人のアクティブ ユーザーのみをサポートできます
- Derby は実稼働環境では推奨されません
だから 溶液 ここは
- バックエンドで MYSQL をメタストレージとして使用し、一度に複数のユーザーを Hive に接続します。
- MYSQLはスタンドアロンメタストアに最適な選択肢です
Hive メタストアをインストールして構成する方法 MySQL データベース
ステップ1) インストールを開始する MySQL サーバー
このステップでは、XNUMX つのタスクを実行します。
- mysql-serverのインストール
- mysql-serverとそのプロセスの確認
- 使い方 sudo apt-get install mysql-serverコマンドを実行すると、mysqlサーバーをダウンロードできます。
インストールを開始する MySQL スクリーンショットに示すように
- 最後にインストールが成功したら、 MySQL 以下のスクリーンショットに示すように実行されます
ステップ2) インストールを開始する MySQL Java ボンジョイント
装着 MySQL Java コネクタ。 これは Java の依存関係と接続を目的としています。
ステップ3) コネクタのソフトリンクを作成する
Hive libディレクトリにコネクタのソフトリンクを作成しています。これは、次の間のソフトリンク用です。 Java およびMySql。
ステップ4) Hive での MySql ストレージの構成
- MySql –u root –p と入力し、その後にパスワードを入力します。
- ここで、 –u は root ユーザー名を表し、 p はパスワードを表します
- 上記のコマンドを入力した後、ユーザーは有効なパスワードを入力して Enter をクリックする必要があります。
- その後、MySqlシェルモードに入ります。
ステップ5) ユーザー名とパスワードを作成する
MySql のユーザー名とパスワードを作成し、権限を付与します。
以下に示すようにコマンドを実行する必要があります。
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 データベースと与えられた権限。
- ここでは、Hive で接続を確立するためにいくつかのプロパティを設定します。 MySQL データベース。
上記のスクリーンショットから、次のことがわかります。ここでは、MYSQLをメタストアとして確立するために必要な4つのプロパティを定義しています。 ハイブ
これらは次のとおりです。
- このプロパティは接続 URL を目的としています。 ここでは、このプロパティで ConnectionURL を定義しています。 これは、JDBC 接続として機能し、メタストアの場所を表すものとしても機能します。
- このプロパティは接続ドライバ名用です。ここで、mysql.jdbc.Driverは値タグで指定する必要がある値です。
- このプロパティは、接続ユーザー名を定義するために使用されます。 ここではユーザー名として「hiveguru」を定義しました
- このプロパティは、接続パスワードを指定するために使用されます。 ここでは、パスワードをユーザーのパスワードとして定義しました。
hive –site.xmlにプロパティを配置したら、手動で保存(Ctrl+S)してファイルを閉じる必要があります。このファイルを閉じた後、Hiveテーブルを作成し、テーブルの詳細を確認する必要があります。 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」を作成します。
上記のスクリーンショットから、次のことがわかります。
- 99つの列名を持つテーブル名「guruXNUMX」の作成
- 列名はそのデータ型とともに示されており、XNUMX つは整数型、もう XNUMX つは文字列型です。
次のステップでは、MySqlに保存されているかどうかを確認します。
ステップ8) MySqlシェルモードに入る
上記のスクリーンショットから、次のことがわかります。
- まずデータベースを「メタストアを使用」として使用する必要があります。
- メタ ストアを選択したら、スクリーンショットに示すように、「show」tables コマンドを使用して、この中に存在するテーブルを確認できます。
- Hive で作成されたテーブルが何であれ、メタデータはそのテーブルに対応し、TBLS の下に保存されます。 MySQL データベース。
- 「Guur99 テーブル」は Hive 内に作成されるため、対応するメタデータは MySQL TBLSの下にあります。
ステップ9) select * from TBLS を入力してください
作成したテーブルが存在するか確認する MySQL か否か
select * from TBLS と入力すると、Hive シェル モードで作成したテーブルが表示されます。
上記のスクリーンショットから、次のことがわかります。
- 作成したテーブル名「guru99」はHiveで表示できます。 MySQL シェルモード
- これに加えて、上のスクリーンショットに示すように、テーブルの作成時間、アクセス時間、その他のプロパティなどの情報も提供されます。