Passer au contenu principal
DataStore permet un contrôle fin de l’exécution au niveau des fonctions, notamment la sélection du moteur et la correction Dtype.

Configuration du Function Engine

Remplacez le moteur d’exécution pour des fonctions spécifiques.

Paramétrage des Function Engines

Quand l’utiliser

Forcer chdb pour :
  • Les fonctions plus performantes avec ClickHouse
  • Les fonctions qui tirent parti de l’optimisation SQL
  • Les opérations à grande échelle sur les chaînes et les dates/heures
Forcer pandas pour :
  • Les fonctions au comportement spécifique à pandas
  • Lorsqu’une compatibilité exacte avec pandas est requise
  • Les opérations personnalisées sur les chaînes

Exemple


Fonctions en commun

Plus de 159 fonctions sont disponibles dans les moteurs chdb et pandas : Pour les fonctions en commun, le moteur est choisi selon :
  1. La configuration explicite de la fonction (si elle est définie)
  2. Le paramètre global execution_engine
  3. La sélection automatique selon le contexte

Fonctions réservées à chdb

Certaines fonctions sont uniquement disponibles via ClickHouse : Ces fonctions utilisent automatiquement le moteur chdb, quelle que soit la configuration.

Fonctions disponibles uniquement dans pandas

Certaines fonctions ne sont disponibles que via pandas : Ces fonctions utilisent automatiquement le moteur pandas, quelle que soit la configuration.

correction Dtype

Configurez la façon dont DataStore corrige les types de données entre les moteurs.

Niveaux de correction

Détails des niveaux de correction

Quand les types nécessitent une correction

Des différences de type peuvent survenir dans les cas suivants :
  1. ClickHouse → pandas : tailles d’entiers différentes (Int64 vs int64)
  2. pandas → ClickHouse : objets Python vers des types SQL
  3. NULL handling : pandas NA vs ClickHouse NULL
  4. Boolean : représentations booléennes différentes
  5. DateTime : différences de fuseau horaire

Exemple


API de configuration des fonctions

Objet function_config

Redéfinition du moteur par appel

Certaines méthodes permettent de redéfinir le moteur pour chaque appel :

Bonnes pratiques

1. Commencez par les paramètres par défaut

2. Configurer en fonction des charges de travail spécifiques

3. Utilisez le niveau de correction approprié

4. Testez les deux moteurs

Dernière modification le 2 juillet 2026