9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Polynote を使ってみる

Last updated at Posted at 2019-11-14

Polynote とは

Polynote先日 Netflix が公開した notebook です。
Jupyter Notebook のようなものだと考えるとイメージしやすいと思います。
現在は Scala、Python、SQL に対応していて、セルごとに使い分けられるのが特徴的です。
今回は環境構築をして簡単なコードを動かすことを目標にやっていきます。

環境構築

macOS Catalina での動作を確認しました。
公式ドキュメントを参考に。

Spark

Apache Spark が必要になります。
英語ですがこのブログが非常に参考になりました。
筆者の場合は既に JVM や Scala を入れていたので、Spark のインストール部分のみ行いました。
Java は Java8 を選ぶのが無難だと思います。 cf. Stack Overflow: spark-2-4-java-11-compatibility

Python

Python3 と pip3 が必要なのでインストールしておきましょう。
いくつかの依存パッケージをインストールします。

pip3 install jep jedi pyspark virtualenv

必要なら pysparkpandas なども入れておきます。

Polynote

まずここから最新のバージョンのものをダウンロードします。
今回は 0.2.13polynote-dist.tar.gz を選びました。
そして展開して notebook を立ち上げます。

tar -zxvpf polynote-dist.tar.gz
cd polynote

./polynote.py  # localhost:8192 にノートブックが立ち上がる

動かしてみる

基本的な操作については公式ドキュメントにあります。

ノートブックを作成して Spark の設定をする

ブラウザで localhost:8192 にアクセスします。
polynote.png

ノートブックを新規作成して Spark の設定をします。
Configuration & dependenciesSpark Config
key: spark.master
val: local[*]
を入れて Save & Restart します。
spark-master-config.png

コードを書いて実行

Spark の Dataframe を作って、グラフの描画機能の使ってみます。
以下のコードを入力して実行します。

import org.apache.spark.sql._
import org.apache.spark.sql.types._

val schema = StructType(
    List(
        StructField("name", StringType, true),
        StructField("point", IntegerType, true)
    )
)
val data = Seq(
    Row("Taro", 10), Row("Jiro", 20), Row("Ichiro", 30)
)
val df = spark.createDataFrame(
    spark.sparkContext.parallelize(data),
    schema
)

df

こんな感じになります。
polynote1.png

Out にあるグラフマークをクリックするとモーダルが現れます。
MeasuresMean point を Y 軸に、 Dimensions name を X 軸にドラッグアンドドロップし、 playPlot をクリックします。
polynote2.png
グラフが表示されました。


以上、環境構築をして簡単なコードを動かしてグラフの描画機能を使ってみました。

Polynote は現在ベータ版で、マイナーバージョンアップは数日ごとに行われているような状況なので、環境構築や操作については大きな変更があるかもしれません。

参考

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?