0
0

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 1 year has passed since last update.

Databricksでのipywidgetsの活用

Last updated at Posted at 2022-07-13

ipywidgets | Databricks on AWS [2022/8/1時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

プレビュー
本機能はパブリックプレビューです。

ipywidgetsはノートブックのセルでパラメータの値を指定できるビジュアル要素です。Databricks Pythonノートブックをインタラクティブなものにするためにipywidgetsを活用することができます。

ipywidgetsパッケージには、スライダー、テキストボックス、チェックボックスなどのコントロールやタブ、アコーディオン、グリッドのようなレイアウトコントロールなど30以上の異なるコントロールが含まれています。これらのエレメントを用いることで、ノートブックコードとのインタフェースとなるGUIを構築することができます。

注意
Databricksウィジェットに関しては、Databricksのwidget(ウィジェット)をご覧ください。Databricksウィジェットやipywidgetsをいつ使用すべきかに関しては、ipywidgetsとDatabricksウィジェットを使用する際のベストプラクティスをご覧ください。

要件

Databricksランタイム11.0以降でipywidgetsを利用できます。

使用法

以下のコードでは、3から10の値を指定できるスライダーを持つヒストグラムを作成します。ウィジェットの値は、ヒストグラムのビンの数を指定します。スライダーを動かすと、即座にヒストグラムが更新されます。試すにはサンプルノートブックを参照ください。

Python
import ipywidgets as widgets
from ipywidgets import interact

# Load a dataset
sparkDF = spark.read.csv("/databricks-datasets/bikeSharing/data-001/day.csv", header="true", inferSchema="true")

# In this code, `(bins=(3, 10)` defines an integer slider widget that allows values between 3 and 10.
@interact(bins=(3, 10))
def plot_histogram(bins):
  pdf = sparkDF.toPandas()
  pdf.hist(column='temp', bins=bins)

以下のコードは0から10の値を取る整数値のスライダーを作成します。デフォルト値は5です。コードでスライダーの値にアクセスするにはint_slider.valueを使います。

Python
import ipywidgets as widgets

int_slider = widgets.IntSlider(max=10, value=5)
int_slider

サンプルノートブック

ipywidgetsサンプルノートブック

高度なサンプル: ipywidgetsによる地図

ipywidgetsとDatabricksウィジェットを使用する際のベストプラクティス

Pythonノートブックにインタラクティブなコントロールを追加するためには、ipywidgetsを使用することをお勧めします。他の言語のノートブックでは、Databricksのwidgetを使ってください。

ジョブにパラメーターを引き渡す目的や、ノートブック間でパラメーターをやり取りする目的ではDatabricksウィジェットを使用することができます。ipywidgetsではこれらのシナリオをサポートしていません。

制限

  • ipywidgetsを使用しているノートブックは稼働中のクラスターにアタッチされている必要があります。
  • ノートブックのセッションを越えてウィジェットの状態は保存されません。ノートブックをクラスターにアタッチした際、ウィジェットのセルをレンダリングするためにはウィジェットのセルを再度実行する必要があります。
  • 右のipywidgetsはサポートされていません: Password, File Upload, Controller
  • HTMLMathとLaTeXを用いたLabelウィジェットは適切にレンダリングされません。(例えば、widgets.Label(value=r'$$\frac{x+1}{x-1}$$')は適切にレンダリングされません。)
  • ノートブックがダークモードの際、特に色付きのウィジェットはノートブックで適切にレンダリングされない場合があります。
  • ウィジェットの出力をノートブックのダッシュボードビューで使用することはできません。
  • ipywidgetのメッセージペイロードサイズは最大1MBです。画像や大量のテキストデータを使用するウィジェットは適切にレンダリングされない場合があります。

Databricks 無料トライアル

Databricks 無料トライアル

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?