Repolode
xqlsystems

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. 1

    PyPIからライブラリをインストールする

    pip install xarray-sql
  2. 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 の数値は毎日更新されます。

関連プロジェクト

DataFusionを基盤とするRustエンジンでApache Arrowのカラムナーデータ上でSpark SQLとDataFrameの演算子を実行し、コード変更なしでSparkを高速化します。

データ・分析#spark#arrow#datafusion
1315+9 今週413ScalaApache-2.0更新 18 時間前