Zeppelin on spark


現在zeppelinの最新バージョンは0.5.6です.http://zeppelin.incubator.apache.org/
zepplinはapache孵化器の1つのプロジェクトですが、簡単で操作しやすいweb版インタラクティブおよび可視化分析ツールを提供しているため、人気があります.
本稿ではまずzeppelin on sparkの応用を簡単に紹介する.
zeppelinのダウンロード、インストール
zeppelinの起動$ZEPPELIN_HOME/bin/zeppelin-dameon.sh start、デフォルトポート8080、起動に成功するとブラウザにアクセスできます.
Zeppelin on spark_第1张图片
Zeppelinは、構築時にsparkをプロジェクト内にデフォルトで構築するため、zeppelinを起動するとSparkContext、SparkSQLインスタンスが自動的に注入されます.デフォルトではzeppelinはローカルモードで内部に付属するspark環境を有効にします.自分で配置したsparkクラスタを使用する場合は、簡単な構成が必要です.
  • SPARK_を追加HOME環境変数、zeppelinにファイルconf/zeppelin-envをインストールします.shファイルにexport SPARK_を追加HOME=$spark_home_path
  • 起動したzeppelin webインタフェースのinterpreterメニューの下でspark masterプロパティを設定します.この属性の設定規則は、
  • です.
  • local[*] in local mode
  • spark://master:7077 in standalone cluster
  • yarn-client in Yarn client mode
  • mesos://host:5050 in Mesos cluster

  • 私が使用しているリソースマネージャはYARNなので、masterプロパティをyarn-client:に設定します.
    Zeppelin on spark_第2张图片
    OK、以上の構成が完了したらzeppelinを再起動し、新しいNotebookを作成してsparkをテストすることができます.
    zeppelinはデフォルトでsparkコンテキスト環境を提供しているので、sparkコードを記述する際に%sparkを追加する必要はありません.
    まずsc.versionでsparkバージョンを表示します.デフォルトではzeppelinの起動に成功した後、sparkは起動されません.sparkの操作要求がある場合にのみ起動されるので、spark要求を最初に実行するときは遅くなります.
            Zeppelin on spark_第3张图片
    実行結果にsparkのバージョン情報が表示された場合、sparkバックエンド実行エンジンとのドッキングに成功したことを示します.
    最初の試みでsc.versionを実行したときに異常を報告したため、発生する可能性のある問題を追加します.
    com.fasterxml.jackson.databind.JsonMappingException: Could not find creator property with name 'id' (in class org.apache.spark.rdd.RDDOperationScope)
    分析により、jacksonパッケージのバージョンが競合しているため、この例外が検出されました.
    衝突原因:zeppelin 0.5.6で使用されるjacksonバージョンは2.5.3であり、spark 1.6で使用するjacksonバージョンは2.4.4なので、json解析の際に異常になります.
    この問題の解決策は、zeppelinインストールファイルの下のlibフォルダのjackson-*2.5.3を削除することです.jar,jackson 2.4.4バージョンのjarパッケージをフォルダにコピーします.に表示されます.
    zeppelinを再起動すると、この問題が解決します.
        
    zeppelin on spark環境の構成が完了した場合、次の作業はsparkアプリケーションを実行し、zeppelinを使用して統計分析結果を表示することです.もちろん、現在使用されているのはspark sqlです.以下、zeppelin on sparkに基づく分析結果を示します.
         
    まとめ:Zeppelinは比較的驚くべき発見で、彼を発見する前にsparkの分析結果について、私たちは一般的にコマンドラインの方法で検索して、もしユーザーや他の人に結果をプレゼンテーションするならば、それは更に面倒で、あるいはバックエンドのコマンドラインの結果を見て、あるいはあなたは簡単なweb uiを書いて結果の展示を行います.これにより、新しい需要モデルが来るたびに再プログラミングされ、小さなパラメータの変動のたびにコードが変更されるという問題が発生します.大きな不便をもたらした.しかしzeppelinがあってから、これらの問題はすべてよく解決することができて、しかもデータ分析結果の展示問題を心配する必要はなくて、分析統計のテストにもとても便利をもたらします.
    もちろんZeppelinは現在、孵化器の段階でも不足しています.例えば、いくつかのダイナミックフォームのサポートはまだ少なく、現在はテキストボックスとドロップダウンボックスしかありません.
    Zeppelinのもっと多くの機能についてはまだゆっくりと探求中です.
    (1)各種Interpreterのテスト、カスタムInterpreterのアクセス方式
    (2)zeppelin豊富な展示システム
    (3)zeppelinのより多くのシーンマイニングなどを使用する.