2015年1月28日 星期三

[Apache Spark][教學] Spark x Docker x ipython Notebook !(四)-pyspark設定+commit images

        我最近感受到催稿的壓力了orz,話不多說最終章開始.承繼之前的進度,設定完ipython notebook以及對外通道後,再來就是要設定pyspark.原理是將pyspark放入ipython的import路徑中就可以了.

  • 首先建立pyspark的profile檔案,這個步驟會在ipython的設定檔中新增一個profile檔,名稱叫做pyspark
$ ipython profile create pyspark
  • 接著修改這個檔案
$ vi /.ipython/profile_pyspark/ipython_notebook_config.py
  • 在原本的設定檔中增加以下指令

  • 設定好後再啟動ipython notebook,就可以run Spark了
$ ipython notebook --ip=sandbox --port=8088 --profile pyspark
  • 啟動畫面~

  • 開一個新的notebook,來試試看(這是在本機執行唷~)
  • 然後回到docker上看一下,果然可以順利執行!
  • 設定好後就可以按exit退出container,把我們剛剛的設定儲存起來.
  • 看一下剛剛設定好的container
$ docker ps -a
  • 接著commit這個設定,把container存成image,這樣以後就可以直接呼叫他,不用重新設定了>"<
$ docker commit <container id> <myimages/image_name:tag>
  • 用docker images查看一下,sequenceiq/spark:1.2.0是原本的images,python和pyspark是我之後自己commit的images
  • 未來如果您想要啟動pyspark,可以用
$ docker run -i -t -h sandbox -p 8080:8080 sequenceiq/spark:pyspark bash
    or
$ docker run -d -h sandbox -p 8080:8080 sequenceiq/spark:pyspark ipython notebook --ip=sandbox --port=8088 --profile pyspark
    • 上面那行是進入互動式介面,下面那行是讓docker container在背景執行,但是仍然可以透過遠端登入ipython notebook
    椰~~終於寫完了~~Docker真的很好玩XD,對於開發和測試也的確相當方便,難怪迅速竄紅!