/ / Comment obtenir une continuité de contexte entre des cellules adjacentes de Zeppelin - apache-spark, apache-zeppelin

Comment obtenir une continuité de contexte entre des cellules de Zeppelin adjacentes - apache-spark, apache-zeppelin

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

entrer la description de l'image ici

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 № 1

Chaque 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%.

Exemple

Voici un exemple. entrer la description de l'image ici