はじめに
今回は、ここからは実際に分析ツールの1つであるJupyter NotebookからMySQL HeatWave MLへ接続し、機械学習を行う方法を解説します。まだOracle Cloud Infrastructure上のMySQL HeatWaveを構築していない方は、こちらを参考にしてください。
Jupyter Notebookから
MySQL HeatWave MLへ接続する
- Jupyter内のターミナルを起動します。
- ターミナル内でMySQLのコネクターをインストールします。
pip3 install mysql-connector-python
- 次に、iPython-sqlモジュールをインストールします。
pip3 install ipython-sql
- 最後に、pymysqlモジュールをインストールします。
pip3 install pymysql
- 必要なモジュールをインストールしたので、接続確認をします。新しいNotebookの起動するために、FileメニューからNew Launcherを選択します。
- Notebookの起動後、実際に操作をしてみます。
load_ext sql sql mysql+pymysql://admin:<password>@<mysql_private_ip>/schema
接続後にエラーが発生しなければ、そのままMySQL HeatWave MLを操作できます。例として、実際の学習結果等を表示する操作を示します。
これで、Jupyter NotebookからMySQL HeatWave MLへ接続できました。
オープンソースのBIツールから
HeatWave MLを利用する
ここからは、代表的なオープンソースのBIツールからMySQL HeatWave MLの接続方法を解説します。
Grafana
Grafanaは、データベースに保存されているデータを視覚化するためのダッシュボードプラットフォームです。
- 左メニューにある[Configuration]から[Data Source]を選択します。
- フィルタテキストボックスに「mysql」と入力して、MySQLデータソースを検索します。MySQLが表示されるので、データソースの[選択]ボタンをクリックします。
- MySQLへ接続できたら、パネルを追加してみましょう。[Add Panel]より左側の[Add an empty panel]をクリックします。
- 追加されたPanelに出力したSQLを記述します。ここでは、例として学習結果のサンプルを記載します。
また、[Format as]は[Table]を選択し、右メニューの表示形式も[Table]を選択します。SELECT age, job, blance, prediction FROM heatwaveml_bench.bank_marketing_pretest; - 完了後の出力例です。今回は左側に学習結果を、右側に結果説明を対比させて表示しています。利用シーンに合わせて様々なパネルを作ってみてください。
Zeppelin notebook
Zeppelinは、データ駆動型のインタラクティブなデータ分析とSQL、Scala、Python、およびRとの共同ドキュメントを可能にするWebベースのNotebookです。
- MySQL HeatWave ML接続用のJDBCインタープリターを作成します。
- [Create]からJDBCドライバを設定します。
実際の設定については、下図を参考にしてください。
プロパティ名 設定値 default.url jdbc:mysql://<MySQL-IP-ADDRESS>:3306 default.user データベースユーザ default.password データベースパスワード default.driver com.mysql.cj.jdbc.Driver - ページの一番下までスクロールし、MySQL JDBCドライバーを指定します。ここでは「mysql-connector-java:8.0.29」を指定しています。
- 新しいノートブックを作成して、MySQL HeatWave MLへの接続を開始します。作成したJDBCインタープリターが選択可能になっていることを確認してください。
- 正しくMySQLに接続できていれば、クエリを入力することでデータを取得できます。
おわりに
3回にわたって、MySQL HeatWave MLについて解説しました。MySQL HeatWave MLは内部的にMySQLデータベースと連携していることで、特別な設定を行う必要なくMySQLの接続をそのまま利用できます。MySQLを使用しているシステムでも、特別にアプリケーションを変更することなくMySQL HeatWave MLも利用できるようになるので、ぜひ触ってみてください。
- この記事のキーワード
