Masalah dengan IPython / Jupyter di Spark (alias tidak dikenal)


11

Saya sedang bekerja menyiapkan seperangkat VM untuk bereksperimen dengan Spark sebelum saya menghabiskan keluar dan menghabiskan uang untuk membangun sebuah cluster dengan beberapa perangkat keras. Catatan singkat: Saya adalah seorang akademisi dengan latar belakang dalam pembelajaran mesin yang diterapkan dan pekerjaan berhenti sedikit dalam ilmu data. Saya menggunakan alat untuk komputasi, jarang saya perlu mengaturnya.

Saya telah membuat 3 VM (1 master, 2 budak) dan berhasil menginstal Spark. Semuanya tampak berfungsi sebagaimana mestinya. Masalah saya terletak pada pembuatan server Jupyter yang dapat dihubungkan dari browser yang tidak berjalan pada mesin di cluster.

Saya telah menginstal notebook Jupyter dengan sukses ... dan itu berjalan. Saya telah menambahkan profil IPython baru yang menghubungkan ke server jauh dengan Spark.

sekarang masalahnya

Perintah

$ ipython --profile=pyspark berjalan dengan baik dan terhubung ke cluster percikan. Namun,

$ ipython notebook --profile=pyspark [<stuff is here>] Unrecognized alias: "profile=pyspark", it will probably have no effect. default ke defaultprofil bukan pysparkprofil.

Konfigurasi notebook saya pysparkmemiliki:

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'


Mungkinkah itu, yang berikut ini akan berhasil? $ ipython --profile=pyspark notebook? Mungkin masalahnya hanya pada urutan argumen.
Gábor Bakos

Jawaban:


12

IPython sekarang telah pindah ke versi 4.0 , yang berarti bahwa jika Anda menggunakannya, ia akan membaca konfigurasinya ~/.jupyter, bukan ~/.ipython. Anda harus membuat file konfigurasi baru dengan

jupyter notebook --generate-config

dan kemudian edit ~/.jupyter/jupyter_notebook_config.pyfile yang dihasilkan sesuai dengan kebutuhan Anda.

Instruksi pemasangan lebih lanjut di sini .


Saya sering bertanya-tanya mengapa mereka mempertahankan perintah notebook ipython dalam memisahkan jupyter dari ipython. Inilah mengapa ini menjadi sangat membingungkan. Terima kasih kepada Anda dan Anda zsh untuk menunjukkan ketidakcocokan profil. Hampir seperti mereka harus menggunakan profil ipython ketika menggunakan perintah notebook ipython dan profil jupyter-notebook ketika menggunakan perintah itu.
AN6U5

4

Asumsikan file configure Anda adalah ~ / .ipython / profile_pyspark / ipython_notebook_config.py, Anda masih dapat menggunakan file configure ini dengan:

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

atau

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

1

Masalahnya adalah bahwa pyspark tidak pada jalur osys secara default. Setelah beberapa upaya gagal untuk menambahkannya secara manual ke file config saya / paths / etc, saya menemukan repositori GitHub ini disebut findspark.

https://github.com/minrk/findspark

Saya mengkloning repositori ini menggunakan git clone https://github.com/minrk/findspark.git

Kemudian saya menjalankan "pip install findspark" dari root findspark.

Memulai notebook Jupyter, membuat notebook Python3 baru dan menambahkan

import findspark
import os
findspark.init ()
impor pyspark
sc = pyspark.SparkContext ()

Sebelum findspark.init (), impor pyspark kembali dengan kesalahan.

Untuk menguji saya baru saja mengetik sc dan kembali:
pyspark.context.SparkContext di 0x4526d30

Semua bekerja untuk saya sekarang.


Selamat datang di situs Anahita :)
Dawny33
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.