あらゆるデータウェアハウスに数分でクエリを実行します!
このチュートリアルでは既存の MySQL データベースを使用して、クエリを実行する Apache Hive データウェアハウスを指すように Hue を設定します。
注記 Hive とは別のウェアハウスを探している場合は、すべての他のコネクタ をご確認下さい。
2つの重要な概念があります。
- 永続性: Hue は、同時リクエストをサポートする MySQL のようなトランザクションを持つ既存のデータベースを必要とし、サーバー停止時に登録されたユーザー、保存されたクエリ、権限の共有を失わない必要があります。
- 計算: これはコンテナ内でサーバーイメージを実行することにより行われます。これは、負荷や高可用性の要件に応じて、起動、停止、複数回のレプリケーションを行うことができます。
最新の Hue のコンテナをプルして、その中でシェルを開いてみましょう。
docker run -it -p 8888:8888 gethue/hue:latest /bin/bash
これにより、Hue のインストールのホームディレクトリである /usr/share/hue
に入ります。では設定ファイルを開いてみましょう。
apt-get install -y vim
vim desktop/conf/hue.ini
まず、Hue が MySQL、PostgreSQL、あるいは Oracle のようなトランザクションをサポートするリレーショナルデータベースを背後に持つことを確認します。ここでは MySQL を使用し、[[database]]
セクションに資格情報を設定します。
[desktop]
[[database]]
host=demo.gethue.com # Use 127.0.0.1 and not localhost if on the same host
engine=mysql
user=hue
password=password
name=hue
注記 ご自身の MySQL データベースを使用して本番環境に対応した Hue を起動する別の方法として、Docker compose を使用する方法があります。
次に[beeswax]
と [notebook]
セクションに次のブロックを追加して、アクセス可能なサーバーで実行している Apache Hive インスタンスにクエリを実行できるようにします。実行している HiveServer2 をお持ちでない場合は、開発用のクイックスタート(Docker を使用し素早く開始する方法 をチェックしてみてください。
[beeswax]
hive_server_host=demo.gethue.com
[notebook]
[[interpreters]]
[[[hive]]]
name=Hive
interface=hiveserver2
注記 ボーナスとして、Hue のデータベースを指す MySQL インタープリタを自由に追加してみてください。問題なく自身をクエリすることができます。
[[[mysql]]]
name=MySQL
interface=sqlalchemy
options='{"url": "mysql://hue:[email protected]:3306/hue"}'
ここで別の端末から docker ps
を使用して Hue のコンテナのIDを識別し、その状態をコミットして停止後も設定を記憶させます。
docker ps
docker commit 368f0d568a5f hue-hive
注記 docker commit
を使用する別の方法としては、Docker イメージの外部に hue.ini 設定ファイルを保持し、コンテナを起動する際にシンプルに内部にマウントする方法があります。これは Docker How-to に記載されています。
これで、保存したコンテナを起動して、localhost:8888 の Hue インターフェースを公開することができます。
docker run -it -p 8888:8888 hue-hive ./startup.sh
これでいよいよSQL クエリ を実行する時が来ました!
フィードバックはありますか?コメントはこのページまたは @gethue までお気軽に!
Romain from the Hue Team