2015-10-11 17 views
15

Śledzę jakiś poradnik, ale one nie działają z Spark 1.5.1 na OS X El Capitan (10,11)link Spark z ipython Notebook

Zasadniczo mam uruchomić to polecenie Pobierz apache-spark

brew update 
brew install scala 
brew install apache-spark 

aktualizowana .bash_profile

# For a ipython notebook and pyspark integration 
if which pyspark > /dev/null; then 
    export SPARK_HOME="/usr/local/Cellar/apache-spark/1.5.1/libexec/" 
    export PYSPARK_SUBMIT_ARGS="--master local[2]" 
fi 

run

ipython profile create pyspark 

utworzony plik startowy ~/.ipython/profile_pyspark/startup/00-pyspark-setup.py skonfigurowany w ten sposób

# Configure the necessary Spark environment 
import os 
import sys 

# Spark home 
spark_home = os.environ.get("SPARK_HOME") 

# If Spark V1.4.x is detected, then add ' pyspark-shell' to 
# the end of the 'PYSPARK_SUBMIT_ARGS' environment variable 
spark_release_file = spark_home + "/RELEASE" 
if os.path.exists(spark_release_file) and "Spark 1.4" in open(spark_release_file).read(): 
    pyspark_submit_args = os.environ.get("PYSPARK_SUBMIT_ARGS", "") 
    if not "pyspark-shell" in pyspark_submit_args: pyspark_submit_args += " pyspark-shell" 
    os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args 

# Add the spark python sub-directory to the path 
sys.path.insert(0, spark_home + "/python") 

# Add the py4j to the path. 
# You may need to change the version number to match your install 
sys.path.insert(0, os.path.join(spark_home, "python/lib/py4j-0.8.2.1-src.zip")) 

# Initialize PySpark to predefine the SparkContext variable 'sc' 
execfile(os.path.join(spark_home, "python/pyspark/shell.py")) 

I następnie uruchomić ipython notebook --profile=pyspark a komputer działa bez zarzutu, ale sc (kontekst iskra) nie jest rozpoznawane.

Ktoś zdążył to zrobić z Spark 1.5.1?

EDIT: można śledzić ten przewodnik, aby mieć to działa

https://gist.github.com/tommycarpi/f5a67c66a8f2170e263c

+0

Witam, mam ten sam problem i nadal nie można rozwiązać. Używam OS X Elcapitab, Jupiter, iskra 1.5.2. Jakie (dodatkowe) rzeczy zrobiliście, aby działało "sc"? – user1717931

+0

Po rozwiązaniu wszystkich problemów napisałem ten samouczek https://gist.github.com/tommycarpi/f5a67c66a8f2170e263c. Spójrz na to, użyłem tych dokładnych kroków i to działa dobrze. Mam nadzieję że to pomoże. – r4id4

Odpowiedz

24

mam zainstalowane Jupyter i rzeczywiście jest prostsze niż myślisz:

  1. Install anaconda dla OSX .
  2. Zainstaluj jupyter wpisując następną linię w terminalu Click me for more info.

    [email protected]:~$ conda install jupyter 
    
  3. Zaktualizuj juwaper na wszelki wypadek.

    [email protected]:~$ conda update jupyter 
    
  4. Pobierz Apache Spark i skompilować je lub pobrać i rozpakować Apache Spark 1.5.1 + Hadoop 2.6.

    [email protected]:~$ cd Downloads 
    [email protected]:~/Downloads$ wget http://www.apache.org/dyn/closer.lua/spark/spark-1.5.1/spark-1.5.1-bin-hadoop2.6.tgz 
    
  5. Utwórz folder, Apps na domu (to):

    [email protected]:~/Downloads$ mkdir ~/Apps 
    
  6. Przesuń nieskompresowanego folderu spark-1.5.1 do katalogu ~/Apps.

    [email protected]:~/Downloads$ mv spark-1.5.1/ ~/Apps 
    
  7. Przejdź do katalogu ~/Apps i sprawdzić, czy jest iskra.

    [email protected]:~/Downloads$ cd ~/Apps 
    [email protected]:~/Apps$ ls -l 
    drwxr-xr-x ?? ilovejobs ilovejobs 4096 ?? ?? ??:?? spark-1.5.1 
    
  8. Oto pierwsza część trudne.Dodaj pliki binarne zapłonowe do Twojego $PATH:

    [email protected]:~/Apps$ cd 
    [email protected]:~$ echo "export $HOME/apps/spark/bin:$PATH" >> .profile 
    
  9. Oto druga część trudne. Dodaj ten zmienne środowiskowe również:

    [email protected]:~$ echo "export PYSPARK_DRIVER_PYTHON=ipython" >> .profile 
    [email protected]:~$ echo "export PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark" >> .profile 
    
  10. Źródło profil, aby te zmienne dostępne dla tego terminalu

    [email protected]:~$ source .profile 
    
  11. Utwórz katalog ~/notebooks.

    [email protected]:~$ mkdir notebooks 
    
  12. Przenieś do ~/notebooks i run pyspark:

    [email protected]:~$ cd notebooks 
    [email protected]:~/notebooks$ pyspark 
    

Zauważ że można dodać te zmienne do .bashrc znajduje się w swoim domu. teraz być szczęśliwy, powinien być w stanie uruchomić jupyter z jądrem pyspark (To pokaże go jako python 2, ale użyje iskrę)

+0

Dziękuję, mam to działa bez instalowania Jupitera (chyba że było to zainstalowane automagicznie: P) – r4id4

+0

To działało dla mnie ... ale teraz mogę TYLKO otworzyć notatnik Jupytera. Nie mogę już tylko konsoli Pythona za pomocą iskry. Czy możliwe jest posiadanie obu? – Sebastialonso

+0

@Sebastialonso Tak, jest to możliwe, wystarczy odłączyć zmienną środowiskową 'PYSPARK_DRIVER_PYTHON_OPTS'. –

1

Spark z ipython/Jupyter notebooka jest super i jestem zadowolony Alberto był w stanie pomóc ci w pracy.

Dla porównania warto też rozważa 2 dobre alternatywy, które pochodzą paczkowane i może być łatwo zintegrowany z klastra PRZĘDZY

Spark Notebook (w razie potrzeby).: https://github.com/andypetrella/spark-notebook

Apache Zeppelin: https://zeppelin.incubator.apache.org/

W chwili pisania Spark Notebook (v0.6.1) jest bardziej dojrzały i można go zainstalować przed wersją Spark i Hadoop tutaj: http://spark-notebook.io/

Zeppelin (v0.5) wygląda bardzo obiecująco, ale nie oferuje tak dużej funkcjonalności jak Spark Notebook lub IPython ze Spark.

4

Po pierwsze, upewnij się, że masz w urządzeniu iskrę.

Następnie należy zainstalować moduł Pythona findspark poprzez pip:

$ sudo pip install findspark 

a następnie w powłoce Pythona:

import findspark 
findspark.init() 

import pyspark 
sc = pyspark.SparkContext(appName="myAppName") 

Teraz możesz robić co chcesz z pyspark w powłoce python (lub w ipython).

Właściwie to najprostszy sposób, moim zdaniem, aby wykorzystać jądro zapłonową w jupyter

Powiązane problemy