DataStore propose des options de configuration complètes pour le choix du moteur d’exécution, le mode de compatibilité, la journalisation, la mise en cache, le profilage et la correction de Dtype.
Référence rapide
from chdb.datastore.config import config
# Quick setup presets
config.enable_debug() # Enable verbose logging
config.use_chdb() # Force ClickHouse engine
config.use_pandas() # Force pandas engine
config.use_auto() # Auto-select engine (default)
config.use_performance_mode() # SQL-first, max throughput
config.use_pandas_compat() # Full pandas compatibility (default)
config.enable_profiling() # Enable performance profilingToutes les options de configuration
| Catégorie | Option | Valeurs | Par défaut | Description |
|---|---|---|---|---|
| Journalisation | log_level |
DEBUG/INFO/WARNING/ERROR | WARNING | Niveau de verbosité des logs |
log_format |
"simple", "verbose" | "simple" | Format des messages de log | |
| Cache | cache_enabled |
True/False | True | Active la mise en cache des résultats |
cache_ttl |
float (secondes) | 0.0 | Durée de vie du cache | |
| Moteur | execution_engine |
"auto", "chdb", "pandas" | "auto" | Moteur d'exécution |
cross_datastore_engine |
"auto", "chdb", "pandas" | "auto" | Opérations Cross-DataStore | |
| Compat | compat_mode |
"pandas", "performance" | "pandas" | Compatibilité pandas vs débit privilégiant SQL |
| Profilage | profiling_enabled |
True/False | False | Active le profilage |
| Dtype | correction_level |
NONE/CRITICAL/HIGH/MEDIUM/ALL | HIGH | Niveau de correction Dtype |
Méthodes de configuration
Configuration de la journalisation
from chdb.datastore.config import config
import logging
# Set log level
config.set_log_level(logging.DEBUG)
config.set_log_level(logging.INFO)
config.set_log_level(logging.WARNING) # Default
config.set_log_level(logging.ERROR)
# Set log format
config.set_log_format("simple") # Default
config.set_log_format("verbose") # More details
# Quick enable debug mode
config.enable_debug() # Sets DEBUG level + verbose formatConsultez la journalisation pour plus de détails.
Configuration du cache
# Enable/disable caching
config.set_cache_enabled(True) # Default
config.set_cache_enabled(False) # Disable caching
# Set cache TTL (time-to-live)
config.set_cache_ttl(60.0) # Cache expires after 60 seconds
config.set_cache_ttl(0.0) # No expiration (default)
# Check current settings
print(config.cache_enabled)
print(config.cache_ttl)Configuration du moteur
# Set execution engine
config.set_execution_engine('auto') # Auto-select (default)
config.set_execution_engine('chdb') # Force ClickHouse
config.set_execution_engine('pandas') # Force pandas
# Quick presets
config.use_auto() # Auto-select
config.use_chdb() # Force ClickHouse
config.use_pandas() # Force pandas
# Cross-DataStore engine (for operations between different DataStores)
config.set_cross_datastore_engine('auto')
config.set_cross_datastore_engine('chdb')
config.set_cross_datastore_engine('pandas')
# Check current engine
print(config.execution_engine)Voir Moteur d’exécution pour en savoir plus.
Mode de compatibilité
# Performance mode: SQL-first, no pandas compatibility overhead
config.use_performance_mode()
# or: config.set_compat_mode('performance')
# Pandas compatibility mode (default)
config.use_pandas_compat()
# or: config.set_compat_mode('pandas')
# Check current mode
print(config.compat_mode) # 'pandas' or 'performance'Voir Mode Performance pour en savoir plus.
Configuration du profilage
# Enable profiling
config.enable_profiling()
config.set_profiling_enabled(True)
# Disable profiling
config.set_profiling_enabled(False)
# Check if profiling is enabled
print(config.profiling_enabled)Voir Profilage pour plus de détails.
Correction de Dtype
from chdb.datastore.dtype_correction.config import CorrectionLevel
# Set correction level
config.set_correction_level(CorrectionLevel.NONE) # No correction
config.set_correction_level(CorrectionLevel.CRITICAL) # Critical types only
config.set_correction_level(CorrectionLevel.HIGH) # Default
config.set_correction_level(CorrectionLevel.MEDIUM) # More corrections
config.set_correction_level(CorrectionLevel.ALL) # All correctionsUtilisation de l’objet config
L’objet config est un singleton qui centralise tous les paramètres :
from chdb.datastore.config import config
# Read settings
print(config.log_level)
print(config.execution_engine)
print(config.cache_enabled)
print(config.profiling_enabled)
# Modify settings
config.set_log_level(logging.DEBUG)
config.set_execution_engine('chdb')
config.set_cache_enabled(False)
config.enable_profiling()Configuration dans le code
Configuration par script
from chdb import datastore as pd
from chdb.datastore.config import config
# Configure at script start
config.enable_debug()
config.use_chdb()
config.enable_profiling()
# Your DataStore code
ds = pd.read_csv("data.csv")
result = ds.filter(ds['age'] > 25).groupby('city').agg({'salary': 'mean'})Gestionnaire de contexte (à venir)
# Planned feature: temporary configuration
with config.override(execution_engine='pandas'):
result = ds.process()
# Original settings restoredCas de configuration courants
Développement/Débogage
from chdb.datastore.config import config
config.enable_debug() # Verbose logging
config.enable_profiling() # Performance tracking
config.set_cache_enabled(False) # Disable caching for fresh resultsProduction
from chdb.datastore.config import config
import logging
config.set_log_level(logging.WARNING) # Minimal logging
config.set_execution_engine('auto') # Optimal engine selection
config.set_cache_enabled(True) # Enable caching
config.set_profiling_enabled(False) # Disable profiling overheadDébit maximal
from chdb.datastore.config import config
config.use_performance_mode() # SQL-first, no pandas overhead
config.set_cache_enabled(False) # Disable cache for streamingTests de performance
from chdb.datastore.config import config
config.use_chdb() # Force ClickHouse for benchmarks
config.enable_profiling() # Track performance
config.set_cache_enabled(False) # Disable cache for accurate timingTest de compatibilité avec pandas
from chdb.datastore.config import config
config.use_pandas() # Force pandas engine
config.enable_debug() # See what operations are used- Moteur d’exécution - Détails sur la sélection du moteur
- Mode Performance - Mode privilégiant SQL pour un débit maximal
- Configuration des fonctions - Configuration du moteur par fonction
- Journalisation - Configuration de la journalisation
- Profilage - Profilage des performances