ปัญหากับ IPython / Jupyter บน Spark (นามแฝงที่ไม่รู้จัก)


11

ฉันกำลังทำงานเกี่ยวกับการตั้งค่าชุดของ VM เพื่อทดลองใช้กับ Spark ก่อนที่ฉันจะออกไปข้างนอกและใช้เงินในการสร้างคลัสเตอร์ด้วยฮาร์ดแวร์บางตัว บันทึกย่อ: ฉันเป็นนักวิชาการที่มีพื้นฐานในการเรียนรู้ของเครื่องที่ใช้และการทำงานออกจากบิตของวิทยาศาสตร์ข้อมูล ฉันใช้เครื่องมือสำหรับการคำนวณฉันแทบจะไม่ต้องตั้งค่าเลย

ฉันได้สร้าง 3 VMs (1 master, 2 slaves) และติดตั้ง Spark เรียบร้อยแล้ว ทุกอย่างดูเหมือนจะทำงานได้ตามที่ควร ปัญหาของฉันอยู่ที่การสร้างเซิร์ฟเวอร์ Jupyter ที่สามารถเชื่อมต่อกับเบราว์เซอร์ที่ไม่ได้ทำงานบนเครื่องในคลัสเตอร์

ฉันติดตั้งโน้ตบุ๊ก Jupyterเรียบร้อยแล้ว ... และมันก็ทำงานได้ ฉันได้เพิ่มโปรไฟล์ IPython ใหม่ที่เชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลด้วย Spark

ตอนนี้ปัญหา

คำสั่ง

$ ipython --profile=pyspark ทำงานได้ดีและเชื่อมต่อกับคลัสเตอร์ประกาย อย่างไรก็ตาม

$ ipython notebook --profile=pyspark [<stuff is here>] Unrecognized alias: "profile=pyspark", it will probably have no effect. ค่าเริ่มต้นไปที่defaultโปรไฟล์ไม่ใช่pysparkโปรไฟล์

สมุดบันทึกของฉันpysparkมีไว้สำหรับ:

c = get_config() c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.port = 8880 c.NotebookApp.server_extensions.append('ipyparallel.nbextension') c.NotebookApp.password = u'some password is here'


เป็นไปได้ไหมว่าสิ่งต่อไปนี้ใช้ได้ผล? $ ipython --profile=pyspark notebook? อาจเป็นได้ว่าปัญหาเกิดขึ้นกับลำดับของอาร์กิวเมนต์เท่านั้น
Gábor Bakos

คำตอบ:


12

IPython ตอนนี้ได้ย้ายไปเวอร์ชัน 4.0ซึ่งหมายความว่าถ้าคุณจะใช้มันก็จะอ่านการกำหนดค่าของมันมาจากไม่~/.jupyter ~/.ipythonคุณต้องสร้างไฟล์กำหนดค่าใหม่ด้วย

jupyter notebook --generate-config

จากนั้นแก้ไข~/.jupyter/jupyter_notebook_config.pyไฟล์ผลลัพธ์ตามความต้องการของคุณ

คำแนะนำการติดตั้งเพิ่มเติมที่นี่


ฉันมักจะสงสัยว่าทำไมพวกเขาเก็บคำสั่งโน๊ตบุ๊ค ipython ในการแยก jupyter จาก ipython นี่คือสาเหตุที่ทำให้เกิดความสับสนอย่างแท้จริง ขอบคุณสำหรับคุณและ kau zsh สำหรับการชี้ให้เห็นโปรไฟล์ที่ไม่ตรงกัน มันเกือบจะเหมือนกับว่าพวกเขาควรใช้โปรไฟล์ ipython เมื่อใช้คำสั่ง ipython notebook และโปรไฟล์ jupyter-notebook เมื่อใช้คำสั่งนั้น
AN6U5

4

สมมติว่าไฟล์กำหนดค่าของคุณคือ ~ / .ipython / profile_pyspark / ipython_notebook_config.py คุณยังสามารถใช้ไฟล์กำหนดค่านี้ได้โดย:

ipython notebook --config='~/.ipython/profile_pyspark/ipython_notebook_config.py'

หรือ

jupyter-notebook --config='~/.ipython/profile_pyspark/ipython_notebook_config.py'

1

ปัญหาคือว่า pyspark ไม่ได้อยู่ในเส้นทางของระบบปฏิบัติการโดยค่าเริ่มต้น หลังจากความพยายามหลายครั้งล้มเหลวในการเพิ่มด้วยตนเองลงในไฟล์ config / path / etc ของฉันฉันเจอที่เก็บ GitHub นี้ชื่อ findspark

https://github.com/minrk/findspark

ฉันโคลนที่เก็บนี้โดยใช้ git clone https://github.com/minrk/findspark.git

จากนั้นฉันรัน "pip install findspark" จาก root findspark

เริ่มสมุดบันทึก Jupyter สร้างสมุดบันทึก Python3 ใหม่และเพิ่ม

นำเข้า findspark ระบบ
ปฏิบัติการที่นำเข้า
findspark.init ()
นำเข้า pyspark
sc = pyspark.SparkContext ()

ก่อน findspark.init () การนำเข้า pyspark กลับมาพร้อมกับข้อผิดพลาด

เพื่อทดสอบฉันเพิ่งพิมพ์ sc และกลับมา:
pyspark.context.SparkContext ที่ 0x4526d30

ทั้งหมดทำงานให้ฉันตอนนี้


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