こんにちは。前回、HeatWave とは何か?についてお話をしました。
今回は、HeatWave の分析データBIツールである Looker から確認するための連携方法について説明いたします。
Looker とは
Looker は、2012年01月に米国カリフォルニアにて設立された Looker Data Science 社により開発されたクラウド型 BI サービスで、BI ツールの中でも次世代のデータプラットフォームとして注目されています。
Looker が注目されている理由は、特に以下4つが挙げられます。
導入が容易
- SaaS 型のツールのため構築が不要
データの民主化を実現
- Looker は誰もがブラウザから分析結果を確認可能
- LookML という独自言語で開発されたモデル。ソースは Git 管理で再利用可能
ビジュアライゼーションが充実
- 視覚的にわかりやすく、誰でも使いやすい
データガバナンスに強い
- DWH に直接接続し、Looker から SQL 発行ができるため、リアルタイムなデータ分析が可能
- MySQL 含めた複数の DB に対応可能
HeatWave は分析系に強い DB であり MySQL と同様に扱う事が可能であることから、今回 HeatWave と Looker の連携の検証を行う事となりました。
HeatWave + Looker の構成図
今回は Google Cloud 上にある Looker サービスとの連携方法について説明します。
HeatWave はパブリック IP を持たないプライベートサブネットに存在しますので、パブリックサブネットに踏み台サーバを用意します。そのうえで、SSH トンネリングを用い、踏み台サーバを経由して HeatWave に接続します。
HeatWave + Looker の連携手順
前提条件
- HeatWave と踏み台サーバは構築済。BI ツールで利用するデータもすでに用意されている
- Looker のアカウントを取得している
HeatWave 側の設定
MySQL サーバに接続し、以下のコマンドを実行します。
- Looker 接続用ユーザを作成
CREATE USER 'looker'@'%' IDENTIFIED BY '*********'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW ON 'demo'.* TO 'looker'@'%' ; GRANT CREATE VIEW ON 'looker_emp'.* TO 'looker'@'%'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES,CREATE VIEW ON 'looker_tmp'.* TO 'looker'@'%';
- Looker が使用するデータベース、テーブルの作成
CREATE DATABASE DEMO; CREATE TABLE 'connection_reg_r3' ('reg_key' varchar(32) NOT NULL, 'looker' varchar(255) DEFAULT NULL, 'created_at' bigint DEFAULT NULL, 'expires_at' bigint DEFAULT NULL) ENGINE=InnoDB;
※こちらは、Looker が使用する DB のため、InnoDB で問題ない。
踏み台サーバの SSH 接続の設定
Looker のサービスのログインし、管理⇒ Database ⇒ Connections ⇒ tab_ssh_server の順でクリックし、右上の add server をクリックします。以下の通り情報を記入します。
名前 | 任意の名前(今回はHeatWavedemosshとします) |
サーバユーザ名 | 踏み台サーバの接続用アカウント名を記入 |
ホスト名 | 踏み台サーバのIPアドレス |
ポート | SSHポート番号 |
Looker アカウントの公開鍵登録
踏み台サーバの SSH 接続の設定で自動作成された公開鍵をダウンロードし、踏み台サーバにアップロードと登録をします。
HeatWave への接続設定
Looker の画面から管理⇒ Database ⇒ Connections ⇒ tab_atabases の順でクリックし、右上の「Add Connection」をクリックし、必要な情報を記入します。
Name | 任意の名前 |
Dialect | MySQL8.0.12+ |
SSH Server | 右のボタンをクリックし有効にし、先ほど作成したSSH Serverの名前を選択 |
Remote Host port | HeatWaveのホスト名を記述 |
Database | HeatWave側の設定で作成したデータベース名を記述 |
Username | HeatWave側の設定で作成したユーザ名を記述 |
Password | HeatWave側の設定で作成したユーザ名のパスワードを記述 |
Temp Database | HeatWave側の設定で作成したテーブル名を記述 |
その他 | デモのため今回はデフォルト値を採用 |
作成が完了したら、Test ボタンから接続テストを実施します。
以下の通り、全て成功すると、接続確立が完了です。
これで、Looker から自由に HeatWave のデータを扱える前提条件が整いました。
次回は、実際に HeatWave のデータを表示させたいと思います。