Apache Spark: Cách sử dụng pyspark với Python 3


91

Tôi đã xây dựng Spark 1.4 từ bậc thầy phát triển GH và quá trình xây dựng diễn ra tốt đẹp. Nhưng khi tôi thực hiện, bin/pysparktôi nhận được phiên bản Python 2.7.9. Làm cách nào để thay đổi điều này?


7
Đối với bất kỳ ai đang tìm cách thực hiện điều này PYSPARK_DRIVER_PYTHON=ipython3 PYSPARK_DRIVER_PYTHON_OPTS="notebook" ./bin/pyspark:, trong trường hợp đó nó chạy máy tính xách tay IPython 3.
tchakravarty

Câu trả lời:


141

Chỉ cần đặt biến môi trường:

export PYSPARK_PYTHON=python3

trong trường hợp bạn muốn đây là một thay đổi vĩnh viễn, hãy thêm dòng này vào tập lệnh pyspark.


Các biến môi trường có thể được chỉnh sửa trong / etc / profile. Đừng quên thực thi "source / etc / profile" sau khi lưu hồ sơ, vì vậy các thay đổi có thể được thực hiện ngay lập tức.
Phyticist

1
Rõ ràng, sử dụng export PYSPARK_PYTHON=python3.5cho Python 3.5
Phyticist 11/02/17

4
Tốt hơn là thêm điều này vào $SPARK_HOME/conf/spark-env.shđể spark-submitsử dụng cùng một trình thông dịch.
flow2k

@ flow2k đó là một ý kiến ​​hay hơn. Tnx
mohammad RaoofNia

32
PYSPARK_PYTHON=python3 
./bin/pyspark

Nếu bạn muốn chạy trong IPython Notebook, hãy viết:

PYSPARK_PYTHON=python3 
PYSPARK_DRIVER_PYTHON=ipython 
PYSPARK_DRIVER_PYTHON_OPTS="notebook" 
./bin/pyspark

Nếu python3không thể truy cập được, bạn cần phải chuyển đường dẫn đến nó.

Hãy nhớ rằng tài liệu hiện tại (kể từ 1.4.1) đã vượt xa các hướng dẫn. May mắn thay, nó đã được vá .


1
Tôi nghĩ rằng lệnh của bạn cho IPython Notebook không đúng. Sẽ như thế này: PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = ipython3 PYSPARK_DRIVER_PYTHON_OPTS = "notebook" ./bin/pyspark
SpiderRico

@ChrisNielsen Trong thiết bị đầu cuối.
Piotr Migdal,

@ChrisNielsen Trong Linux hay OS X là một thiết bị đầu cuối / bảng điều khiển. Tôi không biết nó hoạt động như thế nào trong Windows (khi trong Windows, tôi chỉ sử dụng Spark trên một Docker container).
Piotr Migdal

@SpiderRico Những thứ này dường như không hoạt động trên máy Mac của tôi. Để Máy tính xách tay Jupyter hoạt động cho Spark, hãy sử dụng cách sau. PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = jupyter PYSPARK_DRIVER_PYTHON_OPTS = "notebook" ./bin/pyspark
Hank Chan

9

1, chỉnh sửa hồ sơ:vim ~/.profile

2, thêm mã vào tệp: export PYSPARK_PYTHON=python3

3, thực hiện lệnh: source ~/.profile

4, ./bin/pyspark


4

Hãy xem hồ sơ. Dòng shebang có thể được trỏ đến nhị phân 'env' tìm kiếm đường dẫn cho tệp thực thi tương thích đầu tiên.

Bạn có thể thay đổi python thành python3. Thay đổi env để trực tiếp sử dụng mã nhị phân python3. Hoặc thực thi mã nhị phân trực tiếp với python3 và bỏ qua dòng shebang.


1
Vâng, việc xem xét hồ sơ đã giúp ích. Cần thiết để đặt PYSPARK_PYTHONbiến môi trường.
tchakravarty

4

Đối với Máy tính xách tay Jupyter, hãy chỉnh sửa spark-env.shtệp như được hiển thị bên dưới từ dòng lệnh

$ vi $SPARK_HOME/conf/spark-env.sh

Di chuyển đến cuối tệp và sao chép, dán những dòng này

export PYSPARK_PYTHON=python3
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"

Sau đó, chỉ cần chạy lệnh sau để bắt đầu pyspark trong sổ ghi chép

$ pyspark
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.