欲しい分析環境
AzureVM上にdockerでpostgre日本語環境を立ち上げる。
だいぶ簡単になったが、半年やらなかったら忘れそうなので備忘録に。
GPU使うDeepLearningとか以外はだいたいこの環境でなんとかなる。
Azure data science vm for Linux
- Microsoft R Server Developer エディションと Microsoft R Open
- Anaconda Python ディストリビューション (バージョン 2.7 および 3.5)
- JuliaPro
- スタンドアロン Spark インスタンスと単一ノードの Hadoop (HDFS、Yarn)
- JupyterHub - R、Python、PySpark、Julia カーネルをサポート
- Vowpal Wabbit
- XGBoost, LightGBM
- 開発ツールとエディター (RStudio、PyCharm、IntelliJ、Emacs、vim)
postgres日本語環境
分析用にSQL環境が欲しかった。ただし、日本語が混じったデータだったのが少し面倒。
HOW TO
VMの立ち上げ
MacketPlaceのDatascience用Imageからさくっとデプロイ
細かい構成は省略。
Ubuntuのlocaleを日本語へ
sudo locale-gen ja_JP.UTF-8
sudo /usr/sbin/update-locale LANG=ja_JP.UTF-8
そして再度ログインでlocaleがja_JP.UTF-8になっています。
docker-composeのインストール
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# バイナリに対して実行権限を追加
chmod +x /usr/local/bin/docker-compose
Dockerfile作成
適当なディレクトリにDockerfileとcomposeファイルを作成する。
FROM postgres:latest
RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
version: '2'
services:
db:
image: db
volumes:
- ./postgresql:/var/lib/postgresql
ports:
- "5432:5432"
environment:
POSTGRES_USER: username
POSTGRES_PASSWORD: password
POSTGRES_DB: testdb
LANG: ja_JP.UTF-8
DockerImageを作成、コンテナ起動
sudo docker build -t db
sudo docker-compose up -d
雑記
会社でVisualStudioサブスクリプションが購入していて、Azureが月6000円使えるのでAzureを使っています。
Standard DS3 v2 (4 vcpu 数、14 GB メモリ):1時間25.65円
SQL叩ける環境ほしいな〜。おっ、やっぱクラウドサービスでてるじゃ〜〜ん。
…………………たけぇよ。
というわけで、無料のOSSでデータ分析に向いてるというpostgresqlを利用することに。
またデータが日本語混じりのきったねぇデータなので、ロケール変更しました。
一度頑張って普通にpostgresインストールして同環境を作ったんだけど、環境ぶっ壊して再構築する時にキレそうになり(笑)、ついにdockerを覚える機会になった。遅いよ。
いい勉強になった。dockerさまさまですわ。