#Windows環境向けの追加検証を行います。
前回、Mac環境でのJupyter NotebookとMemSQLの連携検証を行いましたが、今回は環境を少し変えてWindows環境とリモートのMemSQLを使った追検証を実施してみたいと思います。
##今回はAnaconda環境としてJupyter Notebookを導入してみる・・
前回は、色々とステップを踏んで環境を構築しましたが、今回の検証ではシンプルにAnacondaの最新版を使って、関連環境を整える事にします。
まずは、Anacondaのホームページへ行って、必要なモジュールをダウンロードしてきます。
ダウンロードのページへ移動して
執筆時点では、Python3.7のバージョンが公開されていましたので、Windows10の64ビット版に合わせてAnacondaの64ビット版をダウンロードします。
##では!インストールします!!
ダウンロードしてきたインストーラーを起動します。
**Next>**を選択します。
今回は、本人利用だけの形を選択しました。
デフォルトのインストールディレクトリで問題ないかと。(これは後のパス通しに関係してきます)
今回のポイントがこの画面になります。赤字で推奨しない!と出てきますが、これをしないで続行した場合は、手動で環境変数のPATH等を設定する必要が出てくると思いますので、今回は勇気を振り絞って(苦笑)この項目にチェックを入れてインストールしました(人柱・・・・かな?!)
基本的に、粛々とインストールのプロセスが進んで行きますので、心穏やかにお待ちください。
此処まで来ればあと一息です。
無事にインストールが終了しました。
##さて、動作確認・・・
まずは、テキストエディタを使ってPythonを書いてみます・・
print("test")
Anaconda Promptを選択して、先ほどのファイルでを流し込んでみます。
> python
と入力してスペースを1個入れた後、先ほどのファイルをドラッグアンドドロップします。
無事に動き始めました!!
#いよいよJupyter Notebookとの遭遇・・
先程と同様に、Anaconda Promptを立ち上げて、
> jupyter notebook
と入力します。
無事にWindows10環境上にJupyter Notebookが立ち上がってきました!
#念のために・・MemSQLとの連携を確認します
ここまでくれば、基本的にJupyter NotebookのPythonワールドになりますので、前回と同じ手順でMemSQLへの読み書き連携検証を行ってみたいと思います。
##お約束のモジュールを導入
まずは、前回同様にpymysqlを導入します。
> pip install pymysql
では、具体的な連携作業に入ります。
##まずは読み出し・・
import pymysql
db = pymysql.connect(host='xxx.xxx.xxx.xxx', #ネット上のMemSQLに付与されているIPアドレス
user='root',
password='',
db='r_db',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor)
db.commit()
with db:
cur=db.cursor()
cur.execute("SELECT * FROM r_table03")
rows=cur.fetchall()
for row in rows:
print (row)
今回は、前回の検証で作成したデータベースとテーブルを、そのまま読み出しています。
無事に読み出せました!
##次にデータベースの書き込み・・
import pymysql
db = pymysql.connect(host= 'xxx.xxx.xxx.xxx', #ネット上のMemSQLに付与されているIPアドレス
user='root',
password='',
db='r_db',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor)
db.commit()
with db:
cur=db.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS pw_test(test_id INT AUTO_INCREMENT PRIMARY KEY, data VARCHAR(25))")
cur.execute("INSERT INTO pw_test(data) VALUES('aaaaaaa')")
cur.execute("INSERT INTO pw_test(data) VALUES('bbbbbbb')")
cur.execute("INSERT INTO pw_test(data) VALUES('ccccccc')")
無事に書き込めたか確認してみます。
with db:
cur=db.cursor()
cur.execute("SELECT * FROM pw_test")
rows=cur.fetchall()
for row in rows:
print (row)
…という事で、取り急ぎの駆け足検証@Windowsは終了です。
#今回のまとめ
今回は、前回に引き続きJupyter NotebookとMemSQLの連携検証をWindows10+リモートのMemSQL環境で行ってみました。こちらの仕組みも、必要な環境が動き始めれば、素直にpymysql経由でMySQLのフリをしながらMySQLを操作出来る様になりますので、ぜひWindows派の皆様もMemSQLをお試し頂ければと思います。
また次回以降の予定としては、以前の回でご紹介させて頂いた、MemSQLのファイルシステムパイプラインを使って、データの定期取り込みをしながらMemSQL上に基礎データの蓄積を行い、そのデータをRやJupyter Notebookで操作しながら結果を再度MemSQLに書き込んで、最終的にZoomdataで可視化する・・というシナリオに挑戦してみたいと思います。
#謝辞
本解説に転載させて頂いているスクリーンショットは、一部を除いて現在MemSQL社が公開されている公式ホームページの画像を使わせて頂いており、本内容とMemSQL社の公式ホームページで公開されている内容が異なる場合は、MemSQL社の情報が優先する事をご了解ください。