連載 [第3回] :
MySQL HeatWave Database Serviceで機械学習を使いこなそう!機械学習でJupyter NotebookからHeatWave MLを使ってみよう
2022年7月15日(金)
はじめに
今回は、ここからは実際に分析ツールの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を記述します。ここでは、例として学習結果のサンプルを記載します。
SELECT age, job, blance, prediction FROM heatwaveml_bench.bank_marketing_pretest;
また、[Format as]は[Table]を選択し、右メニューの表示形式も[Table]を選択します。 - 完了後の出力例です。今回は左側に学習結果を、右側に結果説明を対比させて表示しています。利用シーンに合わせて様々なパネルを作ってみてください。
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も利用できるようになるので、ぜひ触ってみてください。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。
全文検索エンジンによるおすすめ記事
- MySQL HeatWaveのサービス概略 ー全体像を理解しよう
- 機械学習で利用できる「トレーニング」「推論」「説明」のSQL関数を理解しよう
- MySQL Database Service(MDS)の分析クエリを高速化する「HeatWave」の使いどころ
- 初めてでも安心! OCIチュートリアルを活用して、MySQLのマネージド・データベース・サービスを体験してみよう
- クラスタの構築(後編)
- Tomcatと外部のプログラムを連携させよう!
- SQLを記述しない「Torque」
- KFServingで機械学習モデルをサービング
- MySQLの準備とOSSインストール
- Notebook Serversを使って機械学習モデルを作成する