[PYTHON] Ich habe versucht, PySpark von Jupyter 4.x auf EMR zu verwenden

Fügen Sie Jupyter in den von Amazon EMR gestarteten Spark-Cluster ein Wenn Sie PySpark verwenden, erhalten Sie außerdem eine Zusammenfassung des Umgangs mit den gestauten Punkten.

EMR-Start

Diesmal zur Überprüfung

Anwendungen: Alle Anwendungen: Hadoop 2.6.0, Hive 1.0.0, Hue 3.7.1, Mahout 0.11.0, Pig 0.14.0 und Spark 1.5.0 Instanztyp: m3.xlarge Anzahl der Instanzen: 1 Zugriff: Standard

Bereiten.

Wenn Sie Hue einschließen, verwendet Hue Port 8888 Jupyter kann Port 8888 nicht mehr verwenden (Standard). Machen Sie es in diesem Fall vom PC aus zugänglich Machen Sie ein Loch in die Sicherheitsgruppe.

Python2.6-> Gehen Sie zu Python2.7

EC2, das von EMR gestartet wurde, hat Python Version 2.6.9. Ändern Sie es daher in 2.7. Da 2.7 ursprünglich installiert ist, ändern Sie einfach das Verbindungsziel.

sudo unlink /usr/bin/python
sudo ln -s /usr/bin/python2.7 /usr/bin/python

Zu pip2.6-> pip2.7

pip hat ein Upgrade durchgeführt und das Verbindungsziel geändert.

sudo pip install -U pip
sudo ln -s /usr/bin/pip-2.7 /usr/bin/pip

Jupyter Installation

Derzeit (Oktober 2015) ist Jupyter 4.0.6 installiert.

sudo pip install jupyter

Starten Sie Jupyter

jupyter-notebook

Informationen zum Erstellen eines Profils

Erstellen Sie eine Vorlageneinstellungsdatei (Ausgabeziel ist ~ / .jupyter / jupyter_notebook_config.py)

jupyter notebook --generate-config

py:~/.jupyter/jupyter_notebook_config.py


c = get_config()

c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888

Wenn Sie Hue einschließen, gehen Sie zu c.NotebookApp.port Legen Sie einen anderen Port als 8888 fest, der in der Sicherheitsgruppe geöffnet ist.

Scheint das Profil aus Jupyter 4.X zu verschwinden? Sie können eine Konfigurationsdatei mit der Konfigurationsoption angeben. Beispiel)

jupyter-notebook --config='~/.ipython/profile_nbservers/ipython_config.py'

Wenn Sie den Verzeichnispfad in der Umgebungsvariablen JUPYTER_CONFIG_DIR angeben In diesem Verzeichnis wird jupyter_notebook_config.py gelesen.

Stellen Sie Spark auf Jupyter zur Verfügung

Spark.master von Garn auf Lokal geändert. (Wenn Sie dies nicht tun, wird SparkContext gestoppt.)

/usr/lib/spark/conf/spark-defaults.conf


# spark.master yarn
spark.master local

Zuvor in ~ / .ipython / profile_ \ <Profilname > / startup / 00- \ <Profilname > - setup.py Ich habe mich auf Spark vorbereitet, aber das konnte ich auch nicht Ich führe den folgenden Befehl auf meinem Jupyter-Notizbuch aus.

export SPARK_HOME='/usr/lib/spark'
import os
import sys

spark_home = os.environ.get('SPARK_HOME', None)
if not spark_home:
    raise ValueError('SPARK_HOME environment variable is not set')
sys.path.insert(0, os.path.join(spark_home, 'python'))
sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.8.2.1-src.zip'))

execfile(os.path.join(spark_home, 'python/pyspark/shell.py'))

Es kann als Datei gelesen werden.

Recommended Posts

Ich habe versucht, PySpark von Jupyter 4.x auf EMR zu verwenden
Ich habe versucht, Jupyter zu verwenden
[Pythonocc] Ich habe versucht, CAD auf einem Jupyter-Notebook zu verwenden
Ich habe irgendwie versucht, ein Jupyter-Notebook zu verwenden
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
Ich habe versucht, BigQuery-Daten mit Jupyter Lab mit GCP zu visualisieren
Ich habe versucht, Headless Chrome von Selenium zu verwenden
Ich habe versucht, Remote API mit GAE / J zu verwenden
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe versucht, openpyxl zu verwenden
Ich habe versucht, Ipython zu verwenden
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, doctest zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
Ich habe versucht, Daten aus einer Datei mit Node.js zu lesen.
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Ich habe versucht, easydict (Memo) zu verwenden.
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
Ich habe versucht, RandomForest zu verwenden
Ich habe versucht, Amazon Glacier zu verwenden
Ich habe versucht, Git Inspector zu verwenden
Ich habe versucht, Magenta / TensorFlow zu verwenden
jupyter ich habe es berührt
Ich habe MLflow auf Databricks ausprobiert
Ich habe versucht, AWS Chalice zu verwenden
Ich habe versucht, Slack Emojinator zu verwenden
[AWS] Ich habe versucht, EC2, RDS, Django zu verwenden. Umweltbau ab 1
Ich habe versucht, die Python-Bibliothek von Ruby mit PyCall zu verwenden
[Mit Bild] Ich habe versucht, neofetch auf verschiedenen Betriebssystemen zu verwenden!
Ich habe versucht, mit "Syncthing" Dateien auf mehreren PCs zu synchronisieren
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Ich habe versucht, mit pypyodbc schnell Daten von AS / 400 abzurufen
Ich habe AdaNet gegen Tabellendaten ausprobiert
Ich habe versucht, Rotrics Dex Arm # 2 zu verwenden
Hinweise zur Verwendung von MeCab aus Python
Ich habe versucht, Rotrics Dex Arm zu verwenden
Ich habe versucht, GrabCut von OpenCV zu verwenden
Ich habe versucht, die COTOHA-API zu verwenden (es gibt auch Code auf GitHub).
Ich habe versucht, den auf Papier gestempelten Stempel mit OpenCV zu digitalisieren
Ich habe versucht, Thonny (Python / IDE) zu verwenden.
Ich habe versucht, die GUI auf einem Mac mit X Window System anzuzeigen
Ich habe versucht, mit dem Server-Client über tmux zu kommunizieren
Ich habe versucht, Aufgaben bei Sellerie in die Warteschlange zu stellen
Ich habe versucht, mit PyBrain verstärkt zu lernen