xqlsystems/xarray-sql
配列データをテーブルとして扱い、DuckDB、Polars、DataFusion、ADBCエンジンでXarray DatasetをSQLクエリできるPythonライブラリ。
- スター
- 153
- フォーク
- 23
- 未解決の Issue
- 104
- 最終コミット
- 5 日前
これは何?
xarray-sqlは、配列データセット向けのSQLインターフェースです。Xarray Datasetをテーブル形式に変換し、任意のクエリエンジンでSQLクエリを実行できるようにします。from_datasetでデータセットをテーブルとして登録し、標準的なSQLでクエリを実行した後、結果をXarray Datasetに戻して分析やプロットに利用できます。
同じ登録方法を複数のエンジンで利用でき、PyArrowのデータセットインターフェースを介してDuckDB、Polars、DataFusionに対応します。PostgreSQL、SQLite、Snowflake、BigQueryなど、ADBCドライバーを備えたデータベースにはデータを取り込めます。また、xql.serveを使うと、データセットをArrow Flight SQLサーバーとして公開できます。クラウドネイティブなZarrストアにも対応しており、列の射影と次元ベースの述語プッシュダウンによって、ARCO-ERA5のような大規模データセットへのクエリでも必要な変数とパーティションだけを読み込みます。
このプロジェクトは実験段階にあり、まだ初期の開発状況です。エンジンごとの既知の制限もドキュメントに記載されています。オプションのextrasを追加すると、proj UDFによる地理空間データのサポートを利用できます。
主な機能
- 01from_datasetまたはxql.registerでXarray DatasetをSQLテーブルとして登録します。
- 02クエリ結果をto_datasetでXarray Datasetに戻します。
- 03DuckDB、Polars、DataFusion、およびADBC対応の任意のデータベースで動作します。
- 04列の射影と次元フィルターをZarrへのプッシュダウンやパーティションプルーニングに利用します。
- 05Arrow Flight SQL経由で外部クライアントにデータセットを提供します。
ユースケース
- 格子状の気象・気候データに対して、月別気候値などの集計をSQLで実行する。
- SQLを使って表形式データとラスターまたは格子状データセットを結合する。
- 大規模なクラウドホスト型Zarrデータセットを、すべてメモリに読み込まずにクエリする。
- 使い慣れたデータベースツールを通じて、SQLユーザーが科学分野の配列データにアクセスできるようにする。
クイックスタート
- 1
PyPIからライブラリをインストールする
pip install xarray-sql - 2
チュートリアルの例に必要なオプション依存関係(pooch、netCDF4、matplotlib)をインストールする
pip install pooch netCDF4 matplotlib
使う前に知っておきたいこと
- まだ初期段階のプロジェクトです。メンテナーは初期ユーザーを求めており、今後変更される可能性があります。
- エンジン固有の既知の問題や基本的な既知の問題は別途記載されています。利用を前提とする前に確認してください。
- 密なテンソル演算は、ネイティブのXarrayよりSQLでは遅くなります。
収録されている特集
トピック
よくある質問
- xarray-sql とは?
- 配列データをテーブルとして扱い、DuckDB、Polars、DataFusion、ADBCエンジンでXarray DatasetをSQLクエリできるPythonライブラリ。 xarray-sqlは、配列データセット向けのSQLインターフェースです。Xarray Datasetをテーブル形式に変換し、任意のクエリエンジンでSQLクエリを実行できるようにします。from_datasetでデータセットをテーブルとして登録し、標準的なSQLでクエリを実行した後、結果をXarray Datasetに戻して分析やプロットに利用できます。
- xarray-sql は無料で使えますか?ライセンスは?
- xarray-sql は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- xarray-sql は今もメンテナンスされていますか?
- 活発にメンテナンス中。xarray-sql の最終コミットは 2026年11月2日 です。
- xarray-sql は何に使えますか?
- 格子状の気象・気候データに対して、月別気候値などの集計をSQLで実行する。 SQLを使って表形式データとラスターまたは格子状データセットを結合する。 大規模なクラウドホスト型Zarrデータセットを、すべてメモリに読み込まずにクエリする。 使い慣れたデータベースツールを通じて、SQLユーザーが科学分野の配列データにアクセスできるようにする。
- xarray-sql のインストール方法は?
- PyPIからライブラリをインストールする: pip install xarray-sql チュートリアルの例に必要なオプション依存関係(pooch、netCDF4、matplotlib)をインストールする: pip install pooch netCDF4 matplotlib
- xarray-sql はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/xqlsystems/xarray-sql
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
表形式データ向けのGPU高速化DataFrameライブラリ。pandas風APIと、コード変更不要のpandas高速化機能を提供します。
ブラウザー、デスクトップ、モバイル、Jupyterで動作し、地理空間データの可視化と分析に使える軽量なクラウドネイティブGISプラットフォーム。
既存のPySparkコードをSpark Connectプロトコル経由で実行できる、Rust製のApache Spark互換エンジン。
Microsoft Researchによる、ファイルやデータベースに接続し、質問から編集可能な可視化を作成するAI搭載のデータ探索ツール。
マルチモーダルAI向けのオープンなレイクハウステーブル/ファイル形式。オブジェクトストレージ上でベクトル検索、全文検索、高速なランダムアクセスを実現します。