LoginSignup
1
7

More than 5 years have passed since last update.

東大松尾研データサイエンティスト育成講座データベースの章の試し方[暫定]

Last updated at Posted at 2018-12-19

ちょっと前に話題になった東大松尾研データサイエンティスト育成講座の Jupyter 教材を眺めていると、8 章と 9 章で SQL をカーネルにしています。Jupyter で SQL を直接扱うというのは面白いのでやってました。一応困らない程度に設定出来たみたいなので記録を残します。ただ出力が全部アスキー文字列で、実際に授業使われているような TABLE 形式にする方法は分かりませんでした。

もしも正しいやり方を知っている方がいましたら教えて下さい。。。

前提条件

Jupyter + Python3 のインストールは終わって使える所から始めます。

インストール

MySQLをjupyter notebookのkernelに入れる方法 のとおり ipython_mysql_kernel を使います。ググると https://github.com/shemic/jupyter-mysql-kernel というのが出てくるが、これは複数行の SQL がエラーになるので使えません。

pip install git+https://github.com/shemic/jupyter-mysql-kernel
mkdir -p ~/.ipython/
~/.ipython/mysql_config.json

{
    "user"     : "root",
    "port"     : "3306",
    "host"     : "127.0.0.1",
    "charset"  : "latin-1",
    "password" : "my-secret-pw"
}

ここで charset を latin-1 にするのがコツです。教材で使われているサンプルデータ http://downloads.mysql.com/docs/world.sql.gz の文字コードが latin-1 なので utf8 では動きません。

この教材では mariadb というのを使っているらしいので、そちらも起動します。後腐れのないように docker で起動。

docker run --name some-mariadb -p 3306:3306 --rm -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb
mysql -h 127.0.0.1 -P 3306 -u root -pmy-secret-pw -e 'show databases'

もし間違って jupyter-mysql-kernel をインストールしてしまったら以下で削除。

rm -r /usr/local/share/jupyter/kernels/jupyter-mysql-kernel 

参考

BUGS

  • このやり方で 9 章を試すとストアドファンクションがうまく入力出来ません。コンソールの mysql コマンドを使いましょう。
1
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
7