DatabricksとJupyter: Databricksノートブックにおけるipywidgetsの発表

[Databricks and Jupyter: Announcing ipywidgets in the Databricks Notebook \- The Databricks Blog](https://www.databricks.com/blog/2022/08/09/databricks-and-jupyter-announcing-ipywidgets-in-the-databricks-notebook.html)の翻訳です。

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

# Jupyterエコシステムのインタラクティブ性をレイクハウスに

本日、Databiricksノートブックと、インタラクティブコンピューティングにおけるオープンスタンダードとオープンソフトウェアに責任を持ってきた科学コンピューティングコミュニティのリーダーであるProject Jupyterによって確立されたエコシステムの間の密接なインテグレーションを発表できることを嬉しく思っています。Databricksランタイム11.0 (DBR 11.0)のリリースによって、Databricksノートブックは(Jupyter Widgetsとして知られる)[ipywidgets](https://ipywidgets.readthedocs.io/en/stable/)と、Jupyterのエコシステムを強化するPython実行エンジンである[IPython kernel](https://ipython.readthedocs.io/en/stable/)をサポートします。

Databricksにおいては、レイクハウスをデータの洞察を作成し共有する最終目的地にするということにコミットしています。皆様のレイクハウスをビジネス価値に変換するために、湯＾ざーの全てのバックグラウンドを可能な限りシンプルなものにしたいと考えており、この主要な部分によって、インタラクティブ性を通じてユーザーが自分の分析とデータ資産をよりリッチなものにできると信じています。ipywidgetsとのインテグレーションによって、このビジョンを実現する偉大な一歩を踏み出しており、ユーザーの皆様がこれらを活用して生み出すものを見ることを楽しみにしています！

# ipywidgets

AWSとAzureでパブリックプレビューとしてDBR 11.0に含まれているipywidgetsパッケージは、GCPではDBR 11.1で利用できるようになり、ユーザーはデータを可視化しインタラクションするために自分のノートブックにグラフィカルなコントロールを追加することができるようになります。例えば、さまざまな入力がどのように出力を変化させるのかを探索するためのGUIを自動で構成するために、ipywidgetsの[interact](https://ipywidgets.readthedocs.io/en/latest/examples/Using%20Interact.html#Using-Interact)関数を使用することができます。
![](https://www.databricks.com/wp-content/uploads/2022/08/db-285-ipython.gif)

ipywidgetsの数多くのコンポーネント(スライダー、ボタン、チェックボックス、ドロップダウン、タブなど)を用いることで、ノートブックから直接、変数、実行コード、可視化を変更するためのカスタムインターフェースを構築することができます。これは始まりに過ぎません。ipywidgetsの真のパワーは、より複雑なコントロールとインタラクションを可能にするフレームワークです。いまでは、Databricksノートブックはipywidgetsをサポートしているので、ビジュアル的に[データポイント](https://plotly.com/python/click-events/)や[地図上の領域](https://ipyleaflet.readthedocs.io/en/latest/controls/draw_control.html)を描写することで、没入感のある可視化やインタラクションを行うために[plotly](https://plotly.com/python/)のチャートウィジェットや、[ipyleaflet](https://ipyleaflet.readthedocs.io/en/latest/)のようなより高度なウィジェットを活用することもできます。
![](https://www.databricks.com/wp-content/uploads/2022/08/db-285-blog-img-1.png)
*Databricksノートブック上のipyleaflet*

例として、こちらの[ノートブック](https://docs.databricks.com/notebooks/ipywidgets.html#advanced-example-maps-with-ipywidgets)ではDatabricksデータセットから農家のマーケットの場所を可視化するためにipyleafletを使用しています。

DatabricksノートブックでPythonを使用する際、Ipywidgetsがインタラクティブなコントロールを作成する推奨の方法となります。DBR 11.0におけるDatabricksノートブックでは、[コアなipywidgetコントロール](https://ipywidgets.readthedocs.io/en/stable/examples/Widget%20List.html)、[plotly](https://plotly.com/python/)、[ipyleaflet](https://ipyleaflet.readthedocs.io/en/latest/)、[ipyslickgrid](https://github.com/8080labs/ipyslickgrid)のカスタムウィジェットパッケージに対するパブリックプレビューのサポートを提供します。[ノートブックやジョブにパラメーターを提供](https://qiita.com/taka_yayoi/items/4df1fd723bdab9a99b08#run%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%82%A6%E3%82%A3%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88%E3%81%AE%E4%BD%BF%E7%94%A8)する際には、従来通りDatabricksウィジェットの構文を使用することを[お勧めします](https://qiita.com/taka_yayoi/items/afa752b1441165cb5b18#ipywidgets%E3%81%A8databricks%E3%82%A6%E3%82%A3%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AE%E3%83%99%E3%82%B9%E3%83%88%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B9)。

Databricksのドキュメントや公式の[ipywidgetsドキュメント](https://ipywidgets.readthedocs.io/en/7.7.0/examples/Using%20Interact.html)でより多くのサンプルを見つけることができ、[ipywidgets examples](https://github.com/jupyter-widgets/ipywidgets/tree/master/docs/source/examples)の公式ディレクトリでより高度なipywidgetsのサンプルを見つけることができます。向こう数ヶ月でより多くのこれらのウィジェットのサポートを追加できることを嬉しく思っています。特に興奮しているのは[bamboolib](https://docs.bamboolib.8080labs.com/)であり、まもなくDatabricksノートブックにさらに多くのインテグレーションを追加する予定です。

# IPython Kernel

DBR 11.0の一部として、Databricksはノートブックで長年使い続けていたカスタムのPython実行エンジンを、IPythonカーネル実行エンジンに置き換えました。IPythonカーネルを用いることで、Databricksノートブックをこれまで以上にJupyterの標準やエコシステムに密接にアラインさせ、特にノートブックにおけるipywidgetsを強化することになり、我々はプロジェクトの改善に貢献できることを嬉しく思っています。

# DatabricksはProject Jupyterをサポートします

オープンソース技術に立脚し、MLflowやDelta Lakeのようなオープンソースを立ち上げた企業として、Databricksは健全なオープンソースコミュニティの重要性を理解しています。これが、我々がProject Jupyterの[institutional partner](https://jupyter.org/about#institutional-partners)となり、Jupyter(とipywidgets)の開発のスポンサーとなり。Jupyterプロジェクトの改善とバグ修正にDatabricksのエンジニアが貢献している理由です。我々はJupyterエコシステムへの貢献を増やし、それらの機能をDatabricksノートブックのユーザーに提供できることを嬉しく思っています。

# 試してみましょう

AWSかAzureのDatabricksノートブックでipywidgetsを試すために、必要なことはDBR 11.0以降が稼働するクラスターを選択し、ipywidgetsパッケージをインポートするだけです。DBR 11.1以降ではGCPでも利用できるようになります。詳細やサンプルについては、[ドキュメント](https://qiita.com/taka_yayoi/items/afa752b1441165cb5b18)を参照ください。

さらにDatabricksに追加されるJupyterエコシステムの機能やウィジェットについsて知りたいのであれば、ぜひ[ご連絡](https://forms.gle/1UtuhKnWPJ6o4Tmf7)ください！

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)