機械学習でJupyter NotebookからHeatWave MLを使ってみよう

2022年7月15日(金)
稲垣 大助

はじめに

今回は、ここからは実際に分析ツールの1つであるJupyter NotebookからMySQL HeatWave MLへ接続し、機械学習を行う方法を解説します。まだOracle Cloud Infrastructure上のMySQL HeatWaveを構築していない方は、こちらを参考にしてください。

Jupyter Notebookから
MySQL HeatWave MLへ接続する

  1. Jupyter内のターミナルを起動します。
  2. ターミナル内でMySQLのコネクターをインストールします。
    pip3 install mysql-connector-python

  3. 次に、iPython-sqlモジュールをインストールします。
    pip3 install ipython-sql

  4. 最後に、pymysqlモジュールをインストールします。
    pip3 install pymysql

  5. 必要なモジュールをインストールしたので、接続確認をします。新しいNotebookの起動するために、FileメニューからNew Launcherを選択します。
  6. 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は、データベースに保存されているデータを視覚化するためのダッシュボードプラットフォームです。

  1. 左メニューにある[Configuration]から[Data Source]を選択します。
  2. フィルタテキストボックスに「mysql」と入力して、MySQLデータソースを検索します。MySQLが表示されるので、データソースの[選択]ボタンをクリックします。
  3. MySQLへ接続できたら、パネルを追加してみましょう。[Add Panel]より左側の[Add an empty panel]をクリックします。
  4. 追加されたPanelに出力したSQLを記述します。ここでは、例として学習結果のサンプルを記載します。
    SELECT age, job, blance, prediction FROM heatwaveml_bench.bank_marketing_pretest;
    また、[Format as]は[Table]を選択し、右メニューの表示形式も[Table]を選択します。
  5. 完了後の出力例です。今回は左側に学習結果を、右側に結果説明を対比させて表示しています。利用シーンに合わせて様々なパネルを作ってみてください。

Zeppelin notebook

Zeppelinは、データ駆動型のインタラクティブなデータ分析とSQL、Scala、Python、およびRとの共同ドキュメントを可能にするWebベースのNotebookです。


  1. MySQL HeatWave ML接続用のJDBCインタープリターを作成します。
  2. [Create]からJDBCドライバを設定します。
    プロパティ名 設定値
    default.url jdbc:mysql://<MySQL-IP-ADDRESS>:3306
    default.user データベースユーザ
    default.password データベースパスワード
    default.driver com.mysql.cj.jdbc.Driver
    実際の設定については、下図を参考にしてください。
  3. ページの一番下までスクロールし、MySQL JDBCドライバーを指定します。ここでは「mysql-connector-java:8.0.29」を指定しています。
  4. 新しいノートブックを作成して、MySQL HeatWave MLへの接続を開始します。作成したJDBCインタープリターが選択可能になっていることを確認してください。
  5. 正しくMySQLに接続できていれば、クエリを入力することでデータを取得できます。

おわりに

3回にわたって、MySQL HeatWave MLについて解説しました。MySQL HeatWave MLは内部的にMySQLデータベースと連携していることで、特別な設定を行う必要なくMySQLの接続をそのまま利用できます。MySQLを使用しているシステムでも、特別にアプリケーションを変更することなくMySQL HeatWave MLも利用できるようになるので、ぜひ触ってみてください。

日本オラクル Principal Solution Engineer MySQL Global Business Unit
2017年より日本オラクルでMySQLのプリセールスを担当。広く使われているオンプレミス上のMySQLに限らず、オラクルクラウド上のMySQL Database Service 及びMySQL HeatWave Service導入時の技術支援等も行う。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています