Comme on le voit dans ce qui suit zeppelin
cahier nous avons deux cellules:
- La première cellule effectue une opération et enregistre le résultat dans la
out
variable - La deuxième cellule tente d’effectuer une opération sur le
out
variable. Au lieu de cela, il y a une erreur indiquant que la cellule ne se rend même pas compte qu'il devrait fonctionner pyspark
Tellement jupyter/ipython notebook
- il semble que Zeppelin n'a pas de continuitéentre cellules: chaque cellule est complètement indépendante? C’est sérieusement limitant: nous voulons diviser le travail en morceaux et les exécuter un par un ... comme dans Jupyter
..
Alors, est-ce que je manque quelque chose sur la façon de "relier" les cellules ensemble?
Réponses:
2 pour la réponse № 1Chaque paragraphe (le même que la cellule de jupyter) peut utiliser une technologie différente. Ceux-ci sont supportés dans Zeppelin appelé intepreter. Et c'est à cause de cela rendre Zeppelin convinient.
Supposons comme ce cas d'utilisation.
Décrire un cahier avec Markdown
Prépare les données avec Shell, comme curl, cp
Analyser avec Spark
Certains analysent avec SQL en utilisant Spark avec une table temporaire
Publier le fichier de résultat avec Shell
Portée
Les environnements sont partagés directement par le même interpréteur dans le même cahier. Ce qui signifie.
dans le MÊME type d'interprète, variables / méthode / classes définies dans un paragraphe POUVEZ être utilisé par les paragraphes exécuté plus tard. Il n'est pas nécessaire que ce soit physiquement plus tard, il suffit de l'exécuter plus tard.
dans le DIFFÉRENT type d'interprète, variables / méthode / classes définies dans un paragraphe NE PEUX PAS être utilisé par les paragraphes exécutés plus tard.
Entre différents interprètes, les variables / méthodes / classes ne sont pas directement visibles. API angulaire backend peut être utilisé pour passer entre différents interprètes.
Entre Spark et Pyspark, les tables temporaires sont visibles les unes des autres.
Interprète par défaut.
- Un cahier peut avoir un interprète par défaut.
- Les autres interprètes à utiliser doivent utiliser explicitement la notation%.