LoginSignup
9
13

More than 5 years have passed since last update.

分析環境について考える(その1:全体像) ※2017年1月時点

Last updated at Posted at 2017-01-08

前置き

  • 本記事はあくまで個人の意見である
  • 環境によってはもっと適する形があると思う
  • 勉強不足のためもっとスマートな方法があるかもしれないです

分析環境構築の流れ

  • 以下流れで仮想環境を構築していく
No. 内容
1 全体像
2 VirtualBox+vagrantで仮想環境を構築
3 pyenv+Anaconda[Python、R]+jupyter+Rstudioのインストール
4 postgreSQL+Pgadmin4のインストール

どんな人向けか?

  • 分析環境について考える際、普段どのような働き方をしているかで分析環境を考えた
  • いろいろな働き方があるかとは思うが、今回は以下のような人向けの分析環境について考える

働き方.png

考えた結果

  • 以下のような分析環境を考えた ※書けば書くほど複雑になって分かりにくい

環境構築の全体像.png

考えたこと

【1】なぜ仮想化なのか?

  • 分析の実行環境はLinuxベースのサーバーへSSHすることが多そう
  • ローカルにLinux環境を構築することで、手戻を少なくする ※具体的には以下のような手戻を経験したことがあるため

実務あるある①

  • ノートPC環境はWindowsまたはMac
  • 分析用サーバーにSSHすればLinux環境がある
  • 分析用サーバーがあるとはいえ、まずはサーバー上で開発するよりローカルで開発したい
    • 理由①:変なコードを流して分析用サーバーを利用している人に迷惑をかけたくない
    • 理由②:結果を転送するのが面倒
    • 理由③:ぱっと分析したいときに、いちいちSSHするのが面倒
  • ローカルで分析したコードを分析サーバーで実行するとエラーとなる
    • 原因①:パッケージがインストールされていない
    • 原因②:パッケージのバージョンが違う
    • 原因③:エンコード、改行コードが違う
  • 分析用サーバーでトライ&エラー

実務あるある②

  • ノートPC環境はWindows
  • ターミナル上で実行したいがMS-DOSが使いにくくCygwinを入れる
  • ライブラリのインストールでつまずく
  • 頑張ってググってとりあえず動かすことができるが、環境がめちゃくちゃになる
  • CygwinにAnacondaを入れようとしてもうまく入らない
  • あきらめてWindows環境で分析しターミナル上では動かさない
  • 分析用サーバーでトライ&エラー

【2】分析クライアントツール

  • 個人的にRstudioのような分析環境が好き
  • 好きな理由は以下の通り
    1. スクリプトの実行結果が別に表示される
    2. 行単位で実行可能
    3. マークダウンが書ける
    4. スライドショーができる
    5. 仮想環境と連携できる
    6. 環境構築が楽
  • Pythonも同様の環境を探し以下まとめた ※調査不足の可能性あり
ソフトウェア 結果 1 2 3 4 5 6 備考
Rodeo × × 公式ではマークダウン、サーバー指定できると記載があるがバージョン2.0.13でできなかった。
Spyder × × × × 調査不足の可能性あり。
PyCharm × × × × 調査不足の可能性あり。
Jupyter × Rも同様の環境で利用可能。
RISEを使うとスライドショーができる。
Jupyter lab × × jupyterでできることは基本できそう。
ターミナルとスクリプトは画面分割されているが結果がターミナルに反映されるわけではない。
今後に期待したい。

【3】ソフトウェアライセンス

  • オープンソースのライセンスを利用する
  • 利用する理由は以下の通り
    • アカデミックとの連携を考えると、有償の環境はなるべく避けたい
    • 有償ソフトウェア依存となりたくない

【4】その他ソフトウェアを選んだ理由

ソフトウェア 理由
Windows 周りにMSofficeユーザが少なくないため
(今回の場合Macでも同じような環境を構築可能)
Oracle VirtualBox 既存PCで仮想環境を構築したかったため。
Windows、Macどちらでも対応可能な仮想環境としたかったため。
※詳細は 仮想環境についてまとめてみる にて記載
vagrant 同一の環境を配布するため。
最近流行りのDockerも試したがいろいろ失敗してしまった。
Ubuntu 分析サーバーのOSに合わせる
※最近の分析関連の記事はUbuntuが多い気がする。
Anaconda 必要なライブラリがまとまっており楽だから
Teraterm 今まで使ってきたから
WinSCP 他になにがあるのよくかわからないから

参考

9
13
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
9
13