macOS BigSurでデータサイエンス100本ノック
はじめに_
「データサイエンティスト協会スキル定義委員」の「データサイエンス100本ノック(構造化データ加工編)」の実行環境を構築する。
前提_
macOS BigSurにhomebrewがインストール済みとする。
Dockerのインストール_
Homebrewを使ってインストールする。
% brew install --cask docker
Docker Desktopを起動する。起動時にいろいろと許可が求められるが都度都度対応する。
% open /Applications/Docker.app
Docker Desktop起動時のチュートリアルはやってもやらなくてもよい(使ったことがない人はやってみる)。コマンドにdockerがあるのを確認する。
% which docker /usr/local/bin/docker % % docker --version Docker version 20.10.8, build 3967b7d
データサイエンス100本ノック(構造化データ加工編)の実行環境設定_
ターミナル上で以下のように作業を進める。まず、作業ディレクトリを作成する。
% mkdir -p ~/Sandbox/DS100Knocks % cd ~/Sandbox/DS100Knocks
データサイエンス100本ノック(構造化データ加工編)のリポジトリを取得する。
% git clone https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess.git % cd 100knocks-preprocess % docker-compose up -d --build Creating network "100knocks-preprocess_default" with the default driver Building db [+] Building 21.0s (5/5) FINISHED => [internal] load build definition from Dockerfile 0.1s => => transferring dockerfile: 88B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load metadata for docker.io/library/postgres:14.0-alpine 3.5s => [1/1] FROM docker.io/library/postgres:14.0-alpine@sha256:1cf551de75f 17.3s => => resolve docker.io/library/postgres:14.0-alpine@sha256:1cf551de75fd 0.0s => => sha256:a0d0a0d46f8b52473982a3c466318f479767577551a 2.81MB / 2.81MB 0.7s 〜中略〜 => => exporting layers 5.0s => => writing image sha256:a7c61b13c221e14d944df8047f7433f4b7278a28a9e75 0.0s => => naming to docker.io/library/dss-notebook 0.0s Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them Creating dss-postgres ... done Creating dss-notebook ... done
これでDockerに実行環境が準備される。Webブラウザ(MS Edgeなど)で以下のURLにアクセスする。 http://localhost:8888
データサイエンス100本ノック(構造化データ加工編)の実行方法_
Docker Desktopにて100knocks-preprocessが動いていることを確認する。以下のように表示されていれば動いている。

Webブラウザ(Safariなど)で以下のURLにアクセスする。
すると以下のようなWebサイトが表示される。

下図赤枠のworkをクリックする。すると preprocess_knock_XXX.ipynbというファイルがある。これが100本ノック本体となる。ここではSQL版を開いている。

コマンドの実行は、まず、セルをアクティブ(カーソルで選択)する。

セルをアクティブにした状態で、左上にあるメニューのRun→Run Selected Cellを選ぶ。そうすると、コマンドが実行される。以下の例は初期設定の実行。

各問題への解答はCellへ入力し、Runで実行するという流れになる。模範回答はanswerディレクトリの下にある。以下の例はSQLのノック1本目を回答し、実行した例。
