1. 紹介

前回はAlibaba Cloud上でJupyter notebookのインストールをしてみました。続きとして今回はJupyter notebookを使ってMySQLの操作をやってみましょう。MySQLの操作はpythonを使います。

前回の内容は下記のリンクをご参照ください。
「Alibaba CloudでJupyter notebookを構築する」
リンク: http://qiita.com/sbcnan/private/c4a5d3d578811ab62e02

2. 前提

・Alibaba CloudのECSサーバの構築済み
・Jupyter notebookの外部ネットワークからの接続環境が設定済み
・Jupyter notebookでのpython2 or 3 kenelが設定済み

3. MySQL環境について

Alibaba CloudではApsara DBというDatabaseサービスを提供しています。Apsara DBはいくつかの種類がありますが、今回は良く使うリレーショナルデータベースサービス (RDS)を紹介します。ApsaraDB for RDSは拡張可能なオンデマンドデータベースです。自動モニタリング、バックアップなど管理タスクもAlibaba Cloudでは簡単にできて作業の効率が高い特徴です。日本リジョンではMySQL,SQL Server, PostgreSQLのエンジンを使えます。
リンク: https://jp.aliyun.com/product/apsaradb-for-rds?spm=a21mg.8121077.552287.11.mzwSsg

3. Databaseサーバの立ち上げ

ここではApsara DB for RDS機能使ってDatabaseサーバ立ち上げます。RDSの設定に関する詳しい内容は次のリンクを参考しましょう。
リンク: https://jp.aliyun.com/help/doc-detail/26126.htm?spm=a3c0i.o43185ja.b99.28.dcwfAS

ここで、いくつかの設定内容についてまず説明します。
1.[Acount ID/PW]: 後のDBにログインのために、ここで[アカウント作成]する時のID/PWを記録しておきます。
2.[DB name]: データベース作ったデータベースの名前記録する
3.[RDS name]: ECSとRDSが同じリジョンに設置している場合はイントラネットで接続できます。イントラネットでRDSに接続するためにRDSインスタンス名を記録しておきます。
4.RDSはMySQLサーバを選択します。

image

4. RDSサーバ接続の設定

A.MySQLのためのパッケージインストール

1.PythonのMySQLパッケージをインストールします。

$ pip install pymysql

(オプション)関連パッケージもインストールします。

$ pip install pandas
$ pip install matplotlib
$ pip install ipython-sql

B. Jupyter notebookでRDSに接続する

#python向けSQLパッケージをimportする
$ import pymysql
db = pymysql.connect(host=  'RDS name.mysql.japan.rds.aliyuncs.com',
                             user='Acount ID',
                             password='Acount PW ',
                             db='DB name',
                             charset='utf8',
                             cursorclass=pymysql.cursors.DictCursor)

#RDSサーバに接続する
db.commit()

これでJupyter notebookの接続が確認できます。

C.Jupyter notebookでSQLを楽しみましょう

image
image

これで、Jupyter notebookでRDSサーバのDatabase編集の確認が完了しました。

4. まとめ

Jupyter notebookはDatabaseサーバに接続することで便利に操作することができます。RDS以外にもローカルOS環境でのデータベース操作ができます。Jupyter notebookではデータをグラフとか動画に変化するなど色んなデータ分析、可視化ツールを利用することで、開発の効率が上がります。

スクリーンショット 2017-06-06 18.05.26.png
广告
将在 10 秒后关闭
bannerAds