LoginSignup
0
2

More than 5 years have passed since last update.

さくっと分析環境構築

Posted at

欲しい分析環境

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からさくっとデプロイ
細かい構成は省略。
image.png

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ファイルを作成する。

Dockerfile

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
docker-compose.yaml
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さまさまですわ。

参考

Docker for Mac で 日本語locale設定を含む PostgreSQL を構築

0
2
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
0
2