メインコンテンツへスキップ
DataStore では、エンジンの選択や Dtype の補正など、関数単位で実行をきめ細かく制御できます。

関数エンジンの設定

特定の関数について、実行エンジンを上書きします。

関数エンジンの設定

使い分けの目安

以下の場合は chdb を強制します。
  • ClickHouse のほうが高いパフォーマンスを発揮する関数
  • SQL の最適化を活用できる関数
  • 大規模な文字列/日時処理
以下の場合は pandas を強制します。
  • pandas 固有の動作をする関数
  • pandas との厳密な互換性が必要な場合
  • カスタム文字列処理


共通の関数

159 個以上の関数が chdb と pandas の両方のエンジンで利用できます。 共通の関数では、エンジンは次の順で選択されます。
  1. 明示的な関数設定 (設定されている場合)
  2. グローバルの execution_engine 設定
  3. コンテキストに基づく自動選択

chdb専用の関数

一部の関数は、ClickHouse でのみ利用できます。 これらの関数は、設定にかかわらず自動的に chdb エンジンを使用します。

pandas専用の関数

一部の関数は、pandas でのみ利用できます。 これらの関数は、設定にかかわらず自動的に pandas エンジンを使用します。

Dtype補正

DataStore がエンジン間でデータ型をどのように補正するかを設定します。

補正レベル

修正レベルの詳細

型の修正が必要な場合

次のような場合に、型の違いが生じることがあります。
  1. ClickHouse → pandas: 整数サイズの違い (Int64 と int64)
  2. pandas → ClickHouse: Python の object 型から SQL 型への変換
  3. NULL の処理: pandas の NA と ClickHouse の NULL
  4. ブール値: ブール値の表現の違い
  5. DateTime: タイムゾーンの違い


Function Configuration API

function_config オブジェクト

呼び出し単位のオーバーライド

一部のメソッドでは、呼び出し単位でエンジンをオーバーライドできます。

ベストプラクティス

1. まずはデフォルト設定で始める

2. 特定のワークロード用に設定する

3. 適切な補正レベルを使用する

4. 両方のエンジンをテストする

最終更新日 2026年7月1日