2015-11-19 18 views
8

Tôi đang cố gắng nhập và sử dụng pyspark với anaconda.Cách nhập pyspark trong anaconda

Sau khi cài đặt tia lửa, và thiết lập các biến $SPARK_HOME tôi đã cố gắng:

$ pip install pyspark 

này sẽ không làm việc (tất nhiên) bởi vì tôi phát hiện ra rằng tôi cần phải tel python để tìm pyspark dưới $SPARK_HOME/python/. Vấn đề là để làm điều đó, tôi cần phải đặt $PYTHONPATH trong khi anaconda không sử dụng biến môi trường đó.

Tôi đã cố sao chép nội dung của $SPARK_HOME/python/ thành ANACONDA_HOME/lib/python2.7/site-packages/ nhưng không hoạt động.

Có giải pháp nào để sử dụng pyspark trong anaconda không?

Trả lời

8

Bạn chỉ cần đặt các biến môi trường PYSPARK_DRIVER_PYTHONPYSPARK_PYTHON để sử dụng hoặc là Anaconda Python gốc hoặc môi trường Anaconda cụ thể. Ví dụ:

export ANACONDA_ROOT=~/anaconda2 
export PYSPARK_DRIVER_PYTHON=$ANACONDA_ROOT/bin/ipython 
export PYSPARK_PYTHON=$ANACONDA_ROOT/bin/python 

hoặc

export PYSPARK_PYTHON=$ANACONDA_ROOT/envs/foo/bin/ipython 
export PYSPARK_PYTHON=$ANACONDA_ROOT/envs/foo/bin/python 

Khi bạn sử dụng $SPARK_HOME/bin/pyspark/$SPARK_HOME/bin/spark-submit nó sẽ chọn một môi trường chính xác. Chỉ cần nhớ rằng PySpark có cùng phiên bản Python trên tất cả các máy.

Ghi chú bên cạnh sử dụng PYTHONPATH sẽ hoạt động tốt, ngay cả khi không được khuyến nghị.

+0

Cảm ơn cho câu trả lời. Tôi có thể nhập 'pyspark' ở chế độ độc lập không? Tôi có nghĩa là 'nhập pyspark' – farhawa

+0

Bạn có thể xây dựng gói conda của riêng bạn ... – zero323

+0

Tôi đã thử nhưng nó sẽ không hoạt động – farhawa

1

Tôi không tin rằng bạn cần cũng như không thể cài đặt pyspark làm mô-đun. Thay vào đó, tôi mở rộng $PYTHONPATH tôi trong tôi ~/.bash_profile như sau:

export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/build:$PYTHONPATH

Sau đó, tôi đã có thể import pyspark as ps. Hy vọng rằng công trình cho bạn quá.

+0

Điều gì tồn tại trong '$ SPARK_HOME/python/build'? Tôi không thể tìm thấy thư mục 'build' được bao gồm trong bản phân phối tia lửa của tôi (spark-2.1.0-bin-hadoop2.4). – Tarrasch

1

Sau đây là các bộ hoàn chỉnh các biến môi trường tôi đã phải đặt trong .bashrc của tôi để có được điều này để làm việc trong cả hai kịch bản và máy tính xách tay

export ANACONDA_ROOT=~/anaconda2 
export PYSPARK_DRIVER_PYTHON=$ANACONDA_ROOT/bin/ipython 
export PYSPARK_PYTHON=$ANACONDA_ROOT/bin/python 

export SPARK_HOME=/opt/spark-2.1.0-bin-hadoop2.7 
export PYLIB=/opt/spark-2.1.0-bin-hadoop2.7/python/lib 

export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib:$PYTHONPATH 
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH