Apache Spark: Cara menggunakan pyspark dengan Python 3

92

Saya membuat Spark 1.4 dari master pengembangan GH, dan pembuatannya berjalan dengan baik. Tetapi ketika saya melakukannya, bin/pysparksaya mendapatkan versi Python 2.7.9. Bagaimana saya bisa mengubahnya?

tchakravarty
sumber
7
Bagi siapa pun yang mencari cara melakukan ini PYSPARK_DRIVER_PYTHON=ipython3 PYSPARK_DRIVER_PYTHON_OPTS="notebook" ./bin/pyspark:, dalam hal ini menjalankan notebook IPython 3.
tchakravarty

Jawaban:

144

Cukup atur variabel lingkungan:

export PYSPARK_PYTHON=python3

jika Anda ingin ini menjadi perubahan permanen tambahkan baris ini ke skrip pyspark.

Rtik88
sumber
Variabel lingkungan dapat diedit di / etc / profile. Jangan lupa untuk mengeksekusi "source / etc / profile" setelah menyimpan profil, agar perubahan dapat segera dilakukan.
Phyticist
1
Jelas, gunakan export PYSPARK_PYTHON=python3.5untuk Python 3.5
Phyticist
4
Lebih baik menambahkan ini $SPARK_HOME/conf/spark-env.shjadi spark-submitgunakan interpreter yang sama juga.
flow2k
@ flow2 itu ide yang lebih baik. Tnx
mohammad RaoofNia
32
PYSPARK_PYTHON=python3 
./bin/pyspark

Jika Anda ingin menjalankan di Notebook IPython, tulis:

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

Jika python3tidak dapat diakses, Anda harus meneruskan jalur ke sana.

Ingatlah bahwa dokumentasi saat ini (mulai 1.4.1) memiliki instruksi yang sudah ketinggalan zaman. Untungnya, itu telah ditambal .

Piotr Migdal
sumber
1
Saya rasa perintah Anda untuk Notebook IPython salah. Seharusnya seperti ini: PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = ipython3 PYSPARK_DRIVER_PYTHON_OPTS = "notebook" ./bin/pyspark
SpiderRico
@RisNenen Di terminal.
Piotr Migdal
@ChrisNielsen Di Linux atau OS X adalah terminal / konsol. Saya tidak tahu cara kerjanya di bawah Windows (ketika di Windows, saya menggunakan Spark hanya pada wadah Docker).
Piotr Migdal
@SpiderRico Sepertinya ini tidak berfungsi di Mac saya. Agar Notebook Jupyter berfungsi untuk Spark, gunakan yang berikut ini. PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = jupyter PYSPARK_DRIVER_PYTHON_OPTS = "notebook" ./bin/pyspark
Hank Chan
9

1, edit profil:vim ~/.profile

2, tambahkan kode ke dalam file: export PYSPARK_PYTHON=python3

3, jalankan perintah: source ~/.profile

4, ./bin/pyspark

yangh
sumber
4

Lihat file tersebut. Garis shebang mungkin menunjuk ke biner 'env' yang mencari jalur untuk executable pertama yang kompatibel.

Anda dapat mengubah python menjadi python3. Ubah env untuk langsung menggunakan hardcode biner python3. Atau jalankan biner secara langsung dengan python3 dan hilangkan baris shebang.

rfkortekaas
sumber
1
Ya, melihat file itu membantu. Diperlukan untuk mengatur PYSPARK_PYTHONvariabel lingkungan.
tchakravarty
4

Untuk Jupyter Notebook, edit spark-env.shfile seperti yang ditunjukkan di bawah ini dari baris perintah

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

Goto bagian bawah file dan salin tempel baris ini

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

Kemudian, jalankan perintah berikut untuk memulai pyspark di notebook

$ pyspark
oya163
sumber