Zeppelin を使用する

Prev Next

最新のコンテンツが反映されていません。早急にアップデート内容をご提供できるよう努めております。最新のコンテンツ内容は韓国語ページをご参照ください。

VPC環境で利用できます。

NAVERクラウドプラットフォームの Cloud Hadoopには Zeppelin Notebookがインストールされています。
このガイドでは、Zeppelin Notebook UIへのアクセス方法と簡単なユースケースの実行方法について説明します。
Zeppelinに関する詳細は、Apache Zeppelin公式ホームページをご参照ください。

Zeppelin Notebook UIへのアクセス

Zeppelin Notebook UIにアクセスする方法は、次の通りです。

コンソールの Web UIリストを介したアクセス

Cloud Hadoopコンソールで [Application別に見る] から Zeppelin Notebook UIにアクセスできます。詳細は、Application別に見るをご参照ください。

ウェブブラウザから直接アクセス

ウェブブラウザを立ち上げ、アドレスバーに以下のように入力してアクセスします。クラスタに割り当てられたドメインアドレスを使用します。

https://{ドメインアドレス}:9996

Ambari Web UIを介したアクセス方法

Ambari Web UIを介したアクセス方法は、次の通りです。

  1. Ambari UIにアクセスします。
    • Ambari UIへのアクセスに関する詳細は、Ambari UIガイドをご参照ください。
  2. Ambari UI画面で Zeppelin Notebook > Quick Links > Zeppelin UI を順にクリックします。
  3. ブラウザにログインページが表示されたら、クラスタの作成時に設定した管理者アカウントとパスワードを入力してログインします。
    • アクセスに成功すると、Zeppelinページの右上にある [login] ボタンの横にグリーンの点が表示されます。

Zeppelin Notebook を開始する

Zeppelin Notebookを作成し、データを入力して結果をグラフで確認できます。
このガイドは、Zeppelin Notebookでデフォルトとして提供している Zeppelin Tutorial(Basic Features)Notebookを参照して作成されました。

Notebook作成

Notebookを作成する方法は、次の通りです。

  1. Zeppelin上部の [Notebook] > Create new note をクリックします。
    cloudhadoop-use-zeppelin1_ko

  2. Notebookの名前と情報を設定し、 [Create] ボタンをクリックします。

    • Default Interpreter は、ノート作成後にも変更できます。
      cloudhadoop-use-zeppelin2_ko

テーブルにデータをロード

以下は、bank.csvのデータを bankテーブルにロードするサンプルコードです。

%spark.spark
 import org.apache.commons.io.IOUtils
 import java.net.URL
 import java.nio.charset.Charset

 // Zeppelin creates and injects sc (SparkContext) and sqlContext (HiveContext or SqlContext)
 // So you don't need create them manually

 // load bank data
 val bankText = sc.parallelize(
     IOUtils.toString(
         new URL("https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/bank.csv?sv=2022-11-02&spr=https&st=2026-02-27T07%3A39%3A49Z&se=2026-02-27T07%3A50%3A49Z&sr=c&sp=r&sig=F2n2tCsXEVLXr6GR%2Bqm9vG%2BMSQKJSxWc92hsH%2FshQwk%3D"),
         Charset.forName("utf8")).split("\n"))


 case class Bank(age: Integer, job: String, marital: String, education: String)

 val bank = bankText.map(s => s.split(",")).filter(s => s(0) != "age").map(
     s => Bank(s(0).toInt,
             s(1).replaceAll("\"", ""),
             s(2).replaceAll("\"", ""),
             s(3).replaceAll("\"", "")
         )

 ).toDF()
 bank.registerTempTable("bank")

コードの実行と結果の照会

Zeppelin Notebookコードの実行と結果を確認する方法は、次の通りです。

  1. [Shift] + [Enter] キーを押すか、cloudhadoop-zeppelin-runをクリックしてコードを実行します。
  • FINISHED 状態と Took 4 sec メッセージが表示されると、コードが正常に実行されたという意味です。
    cloudhadoop-use-zeppelin3
  1. 新しい段落でテーブルのデータを照会する Spark SQL構文を作成して [Shift] + [Enter] キーを押すか、cloudhadoop-zeppelin-runをクリックしてコードを実行します。

    • 照会の結果画面が表示されます。グラフボタンを利用し、SQLの結果を様々な種類のグラフで確認できます。
    %spark.sql
    select age, count(1) value
    from bank
    where age < 30
    group by age
    order by age
    

    cloudhadoop-use-zeppelin4

Zeppelin Notebookのバックアップ

Zeppelin Notebookは、クラスタのマスターノードの1番サーバに保存されます。そのため、クラスタを削除すると Notebookも一緒に削除されます。
同じ Notebookを別のクラスタで使用するには、タスクの実行を完了した後、Notebookをエクスポートする必要があります。

Zeppelin Notebookをバックアップする方法は、次の通りです。

  1. Notebook画面上段の cloudhadoop-zeppelin-download ボタンをクリックします。
  2. ローカル PCにファイル名とパスを決めた後、保存します。
    • エクスポートしたファイルは JSON形式で保存されます。
参考

Zeppelin Notebookのバックアップ時、Notebook単位で保存します。

参考

zeppelinで jdbc interpreterをインストールするには、エッジサーバで/etc/zeppelin/conf/interpreter-listファイルの jdbcバージョン情報を修正した後、インストールします。

変更前: jdbc org.apache.zeppelin:zeppelin-jdbc:0.11.0-SANPSHOT Jdbc interpreter変更後: jdbc org.apache.zeppelin:zeppelin-jdbc:0.10.1 Jdbc interpreter

詳細は、メイブンで jdbc interpreterのライブラリ依存関係(バージョン、ライブラリ名など)を確認します。