Apache Spark: วิธีใช้ pyspark กับ Python 3


95

ฉันสร้าง Spark 1.4 จากต้นแบบการพัฒนา GH และงานสร้างก็ผ่านไปได้ด้วยดี แต่เมื่อฉันทำbin/pysparkฉันได้รับ Python 2.7.9 เวอร์ชัน ฉันจะเปลี่ยนสิ่งนี้ได้อย่างไร?


7
สำหรับใครที่กำลังมองหาวิธีทำ: PYSPARK_DRIVER_PYTHON=ipython3 PYSPARK_DRIVER_PYTHON_OPTS="notebook" ./bin/pysparkซึ่งในกรณีนี้จะใช้งานโน้ตบุ๊ก IPython 3
tchakravarty

คำตอบ:


145

เพียงตั้งค่าตัวแปรสภาพแวดล้อม:

export PYSPARK_PYTHON=python3

ในกรณีที่คุณต้องการให้เป็นการเปลี่ยนแปลงถาวรให้เพิ่มบรรทัดนี้ในสคริปต์ pyspark


ตัวแปรสภาพแวดล้อมสามารถแก้ไขได้ภายใต้ / etc / profile อย่าลืมเรียกใช้งาน "source / etc / profile" หลังจากบันทึกโปรไฟล์แล้วเพื่อให้การเปลี่ยนแปลงสามารถดำเนินการได้ทันที
Phyticist

1
เห็นได้ชัดว่าใช้export PYSPARK_PYTHON=python3.5สำหรับ Python 3.5
Phyticist

4
จะดีกว่าที่จะเพิ่มสิ่งนี้ลงไป$SPARK_HOME/conf/spark-env.shดังนั้นให้spark-submitใช้ล่ามคนเดียวกันด้วย
flow2k

@ flow2k นั่นเป็นความคิดที่ดีกว่า Tnx
mohammad RaoofNia

32
PYSPARK_PYTHON=python3 
./bin/pyspark

หากคุณต้องการรันใน IPython Notebook ให้เขียน:

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

หากpython3ไม่สามารถเข้าถึงได้คุณต้องผ่านเส้นทางไปแทน

โปรดทราบว่าเอกสารประกอบปัจจุบัน (ณ 1.4.1)มีคำแนะนำที่ล้าสมัย โชคดีที่จะได้รับการปะ


1
ฉันคิดว่าคำสั่งของคุณสำหรับ IPython Notebook ไม่ถูกต้อง ควรเป็นดังนี้: PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = ipython3 PYSPARK_DRIVER_PYTHON_OPTS = "notebook" ./bin/pyspark
SpiderRico

@ChrisNielsen ในอาคารผู้โดยสาร.
Piotr Migdal

@ChrisNielsen ใน Linux หรือ OS X คือเทอร์มินัล / คอนโซล ฉันไม่รู้ว่ามันทำงานอย่างไรใน Windows (เมื่ออยู่ใน Windows ฉันใช้ Spark บนคอนเทนเนอร์ Docker เท่านั้น)
Piotr Migdal

@SpiderRico สิ่งเหล่านี้ดูเหมือนจะไม่ทำงานบน Mac ของฉัน เพื่อให้ Jupyter Notebook ทำงานกับ Spark ให้ใช้สิ่งต่อไปนี้ PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = jupyter PYSPARK_DRIVER_PYTHON_OPTS = "notebook" ./bin/pyspark
Hank Chan

9

1 แก้ไขโปรไฟล์:vim ~/.profile

2 เพิ่มรหัสลงในไฟล์: export PYSPARK_PYTHON=python3

3 ดำเนินการคำสั่ง: source ~/.profile

4, ./bin/pyspark


4

ดูไฟล์ เส้น shebang อาจชี้ไปที่ไบนารี 'env' ซึ่งค้นหาเส้นทางสำหรับปฏิบัติการที่เข้ากันได้ตัวแรก

คุณสามารถเปลี่ยน python เป็น python3 เปลี่ยน env เพื่อใช้ฮาร์ดโค้ดไบนารี python3 โดยตรง หรือดำเนินการไบนารีโดยตรงกับ python3 และละเว้นบรรทัด shebang


1
ใช่การดูไฟล์ช่วยได้ จำเป็นในการตั้งค่าPYSPARK_PYTHONตัวแปรสภาพแวดล้อม
tchakravarty

4

สำหรับ Jupyter Notebook ให้แก้ไขspark-env.shไฟล์ตามที่แสดงด้านล่างจากบรรทัดคำสั่ง

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

ไปที่ด้านล่างของไฟล์แล้วคัดลอกวางบรรทัดเหล่านี้

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

จากนั้นเพียงเรียกใช้คำสั่งต่อไปนี้เพื่อเริ่ม pyspark ในโน้ตบุ๊ก

$ pyspark
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.