[PYTHON] J'ai essayé d'utiliser PySpark de Jupyter 4.x sur EMR

Placez Jupyter dans le cluster Spark lancé par Amazon EMR En plus de cela, lors de l'utilisation de PySpark, un résumé de la façon de gérer les points bloqués.

Lancement du DME

Cette fois pour la vérification

Applications: Toutes les applications: Hadoop 2.6.0, Hive 1.0.0, Hue 3.7.1, Mahout 0.11.0, Pig 0.14.0 et Spark 1.5.0 Type d'instance: m3.xlarge Nombre d'instances: 1 Accès: par défaut

Préparer.

Si vous incluez Hue, Hue utilisera le port 8888 Jupyter ne peut plus utiliser le port 8888 (par défaut). Dans ce cas, rendez-le accessible depuis le PC Faites un trou dans le groupe de sécurité.

Python2.6-> Aller à Python2.7

EC2 démarré par EMR a la version 2.6.9 de Python, changez-le donc en 2.7. Puisque 2.7 est installé à l'origine, changez simplement la destination du lien.

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

Vers pip2.6-> pip2.7

pip a mis à jour et changé la destination du lien.

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

Installation de Jupyter

Actuellement (octobre 2015), Jupyter 4.0.6 est installé.

sudo pip install jupyter

Démarrez Jupyter

jupyter-notebook

À propos de la création d'un profil

Créez un fichier de configuration de modèle (la destination de sortie est ~ / .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

Si vous incluez Hue, accédez à c.NotebookApp.port Définissez un port autre que 8888 ouvert dans le groupe de sécurité.

Le profil semble-t-il disparaître de Jupyter 4.X? Vous pouvez spécifier un fichier de configuration à l'aide de l'option config. Exemple)

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

Si vous spécifiez le chemin du répertoire dans la variable d'environnement JUPYTER_CONFIG_DIR Il lira jupyter_notebook_config.py dans ce répertoire.

Rendre Spark disponible sur Jupyter

Changement de spark.master de fil à local. (Si vous ne le faites pas, SparkContext s'arrêtera)

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


# spark.master yarn
spark.master local

Auparavant, dans ~ / .ipython / profile_ \ <nom de profil > / startup / 00- \ <nom de profil > - setup.py Je me préparais pour Spark, mais je ne pouvais pas faire ça non plus J'exécute la commande suivante sur mon bloc-notes Jupyter.

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'))

Il peut être lu comme un fichier.

Recommended Posts

J'ai essayé d'utiliser PySpark de Jupyter 4.x sur EMR
J'ai essayé d'utiliser Jupyter
[Pythonocc] J'ai essayé d'utiliser la CAO sur un notebook Jupyter
J'ai essayé d'utiliser le notebook jupyter d'une manière ou d'une autre
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
J'ai essayé de visualiser les données BigQuery à l'aide de Jupyter Lab avec GCP
J'ai essayé d'utiliser Headless Chrome de Selenium
J'ai essayé d'utiliser l'API à distance avec GAE / J
J'ai essayé d'utiliser paramétré
J'ai essayé d'utiliser argparse
J'ai essayé d'utiliser la mimesis
J'ai essayé d'utiliser anytree
J'ai essayé d'utiliser aiomysql
J'ai essayé d'utiliser coturn
J'ai essayé d'utiliser Pipenv
J'ai essayé d'utiliser matplotlib
J'ai essayé d'utiliser "Anvil".
J'ai essayé d'utiliser Hubot
J'ai essayé d'utiliser ESPCN
J'ai essayé d'utiliser openpyxl
J'ai essayé d'utiliser Ipython
J'ai essayé d'utiliser ngrok
J'ai essayé d'utiliser face_recognition
J'ai essayé d'utiliser doctest
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser jinja2
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser la fenêtre de temps
J'ai essayé de lire les données d'un fichier en utilisant Node.js.
[J'ai essayé d'utiliser Pythonista 3] Introduction
J'ai essayé d'utiliser easydict (mémo).
J'ai essayé la reconnaissance faciale avec Face ++
J'ai essayé d'utiliser RandomForest
J'ai essayé d'utiliser Amazon Glacier
J'ai essayé d'utiliser git inspector
J'ai essayé d'utiliser magenta / TensorFlow
jupyter je l'ai touché
J'ai essayé MLflow sur Databricks
J'ai essayé d'utiliser AWS Chalice
J'ai essayé d'utiliser l'émojinateur Slack
[AWS] J'ai essayé d'utiliser EC2, RDS, Django. Construction de l'environnement à partir de 1
J'ai essayé d'utiliser la bibliothèque Python de Ruby avec PyCall
[Avec image] J'ai essayé d'utiliser neofetch sur différents OS!
J'ai essayé d'utiliser "Syncthing" pour synchroniser des fichiers sur plusieurs PC
J'ai essayé de changer le script python de 2.7.11 à 3.6.0 sur Windows10
J'ai essayé d'obtenir rapidement des données d'AS / 400 en utilisant pypyodbc
J'ai essayé AdaNet pour les données de table
J'ai essayé d'utiliser Rotrics Dex Arm # 2
Remarques sur l'utilisation de MeCab depuis Python
J'ai essayé d'utiliser Rotrics Dex Arm
J'ai essayé d'utiliser GrabCut d'OpenCV
J'ai essayé d'utiliser l'API COTOHA (il y a aussi du code sur GitHub)
J'ai essayé de numériser le tampon estampé sur papier en utilisant OpenCV
J'ai essayé d'utiliser Thonny (Python / IDE)
J'ai essayé d'afficher l'interface graphique sur Mac avec le système X Window
J'ai essayé de communiquer avec le client serveur en utilisant tmux
J'ai essayé la mise en file d'attente des tâches de Celery
J'ai essayé l'apprentissage par renforcement avec PyBrain