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 default
profil bukan pyspark
profil.
Konfigurasi notebook saya pyspark
memiliki:
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
? Mungkin masalahnya hanya pada urutan argumen.Jawaban:
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 dengandan kemudian edit
~/.jupyter/jupyter_notebook_config.py
file yang dihasilkan sesuai dengan kebutuhan Anda.Instruksi pemasangan lebih lanjut di sini .
sumber
Asumsikan file configure Anda adalah ~ / .ipython / profile_pyspark / ipython_notebook_config.py, Anda masih dapat menggunakan file configure ini dengan:
atau
sumber
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.
sumber