スマートスタイル TECH BLOG

データベース&クラウド技術情報

Jupyter Notebook で MariaDB ColumnStore に接続

本記事はMariaDB Corporationより寄稿された記事となります

はじめに

今回はブラウザ上で対話的に Python スクリプト実行を行うことが可能な Jupyter Notebook を用いて,MariaDB ColumnStore に接続し,データ分析,グラフ描画を行ってみます。

テスト環境

サーバ OS: CentOS 7.6.1810
MariaDB ColumnStore 1.2.3
クライアント OS: Windows 10 Pro 1803
Anaconda 2018.12 Windows x86_64
Python 3.7.1

MariaDB ColumnStore のインストール

Preparing and Installing MariaDB ColumnStore 1.2.X を参照して事前準備を行います。

SELinux は無効(disabled)にし,firewalld と 古いバージョン(5.5)のMariaDBのライブラリを削除します。

MariaDB ColumnStore 1.2.3 をダウンロード,展開,インストールします。

MariaDB ColumnStore Quick Installer for a single server system に書かれているように,quick_installer_single_server.sh により,シングルノード UM+PM Combined 構成でインストールを行います。

quick_installer_single_server.sh 実行後,/etc/profile.d/columnstoreAlias.sh にある管理コマンドなどへの alias 設定を反映します。
ma(mcsadmin)で ColumnStore システムのステータスを確認します。Status がすべて ACTIVE となっていれば問題ありません。

サンプルデータをインポート

GitHub にある ColumnStore 用のサンプルデータを clone します(データ展開にunzipが必要です)。

今回は flights サンプルデータを用います。
テーブル作成/データダウンロード/データインポート用のスクリプトがありますので,順次実行します。

load_flight_data.sh では ColumnStore 専用の bulk load ツール,cpimport を用いて高速にデータをインポートできます。

Windows 10 に Jupyter Notebook をインストール

https://www.anaconda.com/distribution/#download-section で Windows を選択,64-Bit Graphical Installer をクリックして Windows 64bit 用のインストーラをダウンロード,インストールします。

次に Anaconda Prmompt を起動し,

で MySQL(MariaDB) コネクタをインストールします。以上でインストール作業は完了です。

Jupyter Notebook から MariaDB ColumnStore 上のデータを扱う

Jupyter Notebook を起動

Windowsスタートメニューから Jupyter Notebook を起動すると,自動的に web ブラウザが開かれ,Jupyter Notebook が操作可能となります。

FIle – New Notebook – Python 3 で新規の notebook を作成できます。

と左に書かれているセルには,Python コードを記述することができます。Cell – Cell Type で Markdown を選択すると,Markdown 形式で説明文等を加えることが可能です(LaTeX形式で数式を記述することも可能です)。

MariaDB ColumnStore へ接続

以下のようなコードで MariaDB ColumnStore に接続します。

flights.airports テーブルから 10 レコード取得

flights.airlines テーブルから 10 レコード取得

2016_airline_summary.sql を実行

次にサンプルデータの flights/queries/2016_airline_summary.sql を実行しますが,今回は 2017 年のデータに対して実行したいため,以下のように where f.year = 2017 に変更します。

チャートのプロット

matplotlib を用いて棒グラフ(bar chart)をプロットしてみます。

今回作成した Notebook と実行結果は Jupyter nbviewer や GitHub 上で確認することもできます。

https://nbviewer.jupyter.org/github/goto-satoru/mariadb-columnstore-sample-jupyter-notebook/blob/master/ColumnStore-flights-sample.ipynb

https://github.com/goto-satoru/mariadb-columnstore-sample-jupyter-notebook/blob/master/ColumnStore-flights-sample.ipynb

まとめ

今回は Jupyter Notebook から MariaDB ColumnStore に接続し,対話的なデータ分析,グラフ描画を行ってみました。
実行結果は nbviewer や GitHub 等で共有できますので,学習/研修目的,定期レポートの共有にも活用可能かと存じます。


執筆者情報

後藤 智(GOTO Satoru)
2017年6月よりMariaDB CorporationにてAPAC(Asia Pacific)地域におけるプリセールス業務を主に担当。現在は主に日本を担当。
この執筆者の他の記事をよむ
Return Top