Telechargé par ghada.zemzem83

PySpark à Jupyter

publicité
PySpark à Jupyter
Il existe deux manières d'obtenir PySpark dans un bloc-notes Jupyter:

Configurez le pilote PySpark pour utiliser Jupyter Notebook:
l'exécution pysparkouvrira automatiquement un Jupyter Notebook

Chargez un ordinateur portable Jupyter standard et chargez PySpark à l'aide
du package findSpark
La première option est plus rapide mais spécifique à Jupyter Notebook, la
deuxième option est une approche plus large pour que PySpark soit disponible
dans votre IDE préféré.
Méthode 1 - Configurer le pilote PySpark
Mettre à jour les variables d'environnement du pilote PySpark: ajoutez ces
lignes à votre ~/.bashrc(ou ~/.zshrc) fichier.
export PYSPARK_DRIVER_PYTHON = jupyter
export PYSPARK_DRIVER_PYTHON_OPTS = 'notebook'
Redémarrez votre terminal et relancez PySpark:
$ pyspark
Maintenant, cette commande devrait démarrer un bloc-notes Jupyter dans
votre navigateur Web. Créez un nouveau carnet en cliquant sur "Nouveau">
"Cahiers Python [par défaut]".
Copiez et collez notre script de calcul Pi et exécutez-le en appuyant sur Maj +
Entrée.
Terminé!
Vous pouvez maintenant exécuter PySpark dans un cahier Jupyter :)
Méthode 2 - Package FindSpark
Il existe une autre manière plus générale d’utiliser PySpark dans un carnet
Jupyter: utilisez le package findSpark pour créer un contexte Spark disponible
dans votre code.
Le package findSpark n’est pas spécifique à Jupyter Notebook, vous pouvez
également utiliser cette astuce dans votre IDE préféré.
Pour installer le findpark:
$ pip install findspark
Lancer un cahier Jupyter régulier:
$ jupyter notebook
Créez un nouveau bloc-notes Python [par défaut] et écrivez le script suivant:
importation findpark
findpark.init () import pyspark
import aléatoire sc = pyspark.SparkContext (appName = "Pi")
num_samples = 100000000 def inside (p):
x, y = random.random (), random.random ()
return x * x + y * y <1 count = sc.parallelize (range (0, num_samples)).
filter (inside) .count () pi = 4 * count / num_samples
print (pi) sc.stop ()
Le résultat devrait être:
Téléchargement