Configuration¶
BenchBox supports configuration through multiple sources with the following precedence:
Command-line arguments (highest priority)
Environment variables
Configuration files
Default values (lowest priority)
Configuration File Format¶
BenchBox uses YAML configuration files. Default location: ~/.benchbox/config.yaml
Example configuration:
# Output settings
output:
compression:
enabled: true
type: zstd
level: 3
formats:
- json
- csv
# Platform settings
platforms:
databricks:
enabled: true
warehouse_id: "abc123"
bigquery:
enabled: true
project_id: "my-project"
# Tuning settings
tuning:
default_mode: notuning
enable_constraints: false
Platform Configuration¶
Each platform can have specific configuration options:
Databricks:
platforms:
databricks:
warehouse_id: "warehouse-id"
catalog: "main"
schema: "benchbox"
BigQuery:
platforms:
bigquery:
project_id: "my-project"
dataset: "benchbox"
location: "US"
Snowflake:
platforms:
snowflake:
account: "account-name"
warehouse: "COMPUTE_WH"
database: "BENCHBOX"
schema: "PUBLIC"
Environment Variables¶
BenchBox recognizes these environment variables:
General Settings¶
BENCHBOX_NON_INTERACTIVE=true: Enable non-interactive modeBENCHBOX_NO_COMPRESSION=true: Disable data compressionBENCHBOX_CONFIG_PATH=/path/to/config.yaml: Custom config file location
Platform Authentication¶
Databricks:
DATABRICKS_TOKEN: Authentication tokenDATABRICKS_HOST: Workspace URL
BigQuery:
GOOGLE_APPLICATION_CREDENTIALS: Service account key file path
Snowflake:
SNOWFLAKE_USER: UsernameSNOWFLAKE_PASSWORD: PasswordSNOWFLAKE_ACCOUNT: Account identifier
Redshift:
AWS_ACCESS_KEY_ID: AWS access keyAWS_SECRET_ACCESS_KEY: AWS secret key
ClickHouse:
CLICKHOUSE_HOST: Server hostnameCLICKHOUSE_USER: UsernameCLICKHOUSE_PASSWORD: Password
Platform-Specific Options¶
Each platform supports specific options via --platform-option KEY=VALUE:
ClickHouse Options¶
mode=local: Use local ClickHouse instancesecure=true: Enable TLS encryptionport=9000: Custom port numberdatabase=default: Target database name
Example:
benchbox run --platform clickhouse --benchmark tpch \
--platform-option mode=local \
--platform-option secure=true \
--platform-option port=9440
View Platform Details¶
Use benchbox platforms status to see platform information and capabilities:
benchbox platforms status clickhouse
benchbox platforms status databricks