Ambari #08 ปรับแต่ง pyspark ให้สามารถใช้งาน spark.ml ได้ ด้วย conda package management

เราสามารถใช้งาน Spark ในด้าน Machine Learning ด้วย pyspark แต่ปัญหาอยู่ที่ว่า python ที่ติดตั้งบน Ubuntu 14.04 นั้น ไม่มี package ที่จำเป็นต้องใช้ ได้แก่ numpy, scipy, scikit-learn, matplotlib ซึ่งขั้นตอนการติดตั้ง ก็จะยุ่งยาก เพราะต้อง compile code เองด้วย

แต่ปัจจุบัน มีเครื่องมือที่เรียกว่า “conda” ทำหน้าที่ติดตั้ง package ที่ต้องการได้สะดวก ในที่นี้ จะเลือกใช้ python 2.7 และ จะติดตั้งลงไปใน /opt/conda

ขั้นตอนการติดตั้ง conda

  1. ไปเลือก setup script จาก https://conda.io/miniconda.html
  2. ในการนี้ ขอให้ทำในสิทธิ์ของ root
    sudo su
    cd
  3. Download script
    wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh
  4. จากนั้น ใช้คำสั่งต่อไปนี้ เพื่อติดตั้ง conda ลงไปใน /opt/conda และ เลือกใช้ค่า default
    bash Miniconda2-latest-Linux-x86_64.sh -p /opt/conda -b
  5. ติดตั้ง scikit-learn package ซึ่งจะติดตั้ง package อื่นๆที่จำเป็นสำหรับ spark.ml เข้ามาด้วย
    /opt/conda/bin/conda install scikit-learn -y
  6. ทำขั้นตอน 3-6 กับ “ทุกๆ node” ใน Hadoop Cluster

ต่อไปตั้งค่า Zeppelin ให้สามารถใช้งาน conda แทน python เดิม

  1. เปิด Zeppelin ขึ้นมา
  2. คลิก Interpreter > ค้นหา spark

    แล้วคลิก edit
  3. จากนั้น หาเลื่อนหาค่า pyspark.python แล้วแก้ไขเป็น /opt/conda/bin/python แล้วคลิก save
  4. จากนั้นก็จะสามารถใช้งาน spark.ml ได้แล้ว