Chạy Apache Spark với Jupyter Notebook

DataData Engineer, Jupyter, Apache Spark, IPython, Python, Javascript, PySpark, Spark, Machine LearningEdit

IPython Notebook là một công cụ tiện lợi cho Python. Ta có thể Debug chương trình PySpark Line-by-line trên IPython Notebook một cách dễ dàng, tiết kiệm được nhiều thời gian.

1. Cài đặt Spark

Truy cập trang chủ (https://spark.apache.org/downloads.html), tải về bản Spark phù hợp (ở đây tôi tải bản Apache Spark 1.6.2).

wget http://d3kbcqa49mib13.cloudfront.net/spark-1.6.2-bin-hadoop2.6.tgz

Giải nén và khởi động Spark Standard Alone (hoặc Cluster).

tar -xzvf spark-1.6.2-bin-hadoop2.6.tgz
cd spark-1.6.2-bin-hadoop2.6
./sbin/start-all.sh

Kiểm tra Spark đã Start thành công hay chưa, truy cập: http://spark-master-ip:8080

2. Cài đặt Jupyter Notebook

Cài đặt bằng command line

sudo apt-get install ipython-notebook

Cấu hình cho IPython Notebook

jupyter notebook --generate-config

Mở file .jupyter/jupyter_notebook_config.py và cấu hình lại các tham số sau:

c.NotebookApp.ip = '*'
c.NotebookApp.port = 1603
c.NotebookApp.open_browser = False

Port có thể thay đổi theo ý thích, nếu trùng thì Notebook sẽ tự động đổi sang Port khác.

3. RUN

Thực thi lệnh

PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark \
 --master local --conf spark.executor.memory=3g \
 --conf spark.executor.cores=2 --conf spark.driver.memory=3g \
 --conf spark.executor.instances=9 \
 --conf spark.kryoserializer.buffer.max=256m

Tùy chỉnh các tham số tùy theo thực tế. Truy cập vào IPython Notebook và sử dụng: http://notebook-ip:1234