ClickHouse で marimo を使う
marimo は、SQL を標準で備えた、Python 向けのオープンソースのリアクティブなノートブックです。セルを実行したり UI 要素を操作したりすると、marimo は影響を受けるセルを自動的に実行し (または古い状態としてマークし) 、コードと出力の一貫性を保ちながら、不具合を未然に防ぎます。すべての marimo ノートブックは純粋な Python として保存され、スクリプトとして実行でき、アプリとしてデプロイすることもできます。

1. SQL サポート対応の marimo をインストールする
これで、localhost 上のページを表示するウェブブラウザが開きます。
2. ClickHouse へ接続する
marimo エディター左側のデータソースパネルに移動し、「Add database」をクリックします。

データベースの詳細を入力するように求められます。

その後、接続を確立するために実行できるセルが追加されます。

3. SQL を実行する
接続を確立したら、新しい SQL セルを作成し、ClickHouse エンジンを選択できます。

このガイドでは、New York Taxi データセットを使用します。

これで、結果をデータフレームで確認できるようになりました。ここでは、特定の乗車地点からの、最も高額な料金が発生した降車を可視化したいとします。marimo には、そのために役立ついくつかの UI コンポーネントが用意されています。ロケーションの選択にはドロップダウンを使い、チャート描画には altair を使用します。

marimo のリアクティブな実行モデルは SQL クエリにも適用されるため、SQL を変更すると、それに依存するセルの後続の計算処理が自動的にトリガーされます(あるいは、コストの高い計算についてはセルを古い状態としてマークすることもできます)。そのため、クエリを更新するとチャートとテーブルも自動的に更新されます。
また、App View に切り替えて、データ探索用のすっきりしたインターフェイスで表示することもできます。
