包括用于 DataFusion 的 CLI、TUI 和服务器实现。
dft is a batteries-included suite of DataFusion applications that provides:
The project offers four complementary interfaces:
tui feature)flightsql feature)http feature)All interfaces share the same execution engine, allowing you to develop locally with the TUI and then seamlessly deploy with the server implementations.
dft builds upon datafusion-cli with enhanced interactivity, additional integrations, and ready-to-use server implementations.
# Core CLI and server interfaces
cargo install datafusion-dft
# With TUI interface
cargo install datafusion-dft --features=tui
# For full functionality with all features (including TUI)
cargo install datafusion-dft --all-featuresIf you don't have Rust installed, follow the installation instructions.
Common feature combinations:
…See the Features documentation for all available features.
Note: The TUI (Text User Interface) is optional and requires the tui feature flag. The CLI, FlightSQL server, and HTTP server are always available.
…dft includes built-in benchmarking to measure query performance with detailed timing breakdowns:
# Serial benchmark (default) - measures query performance in isolation
dft -c "SELECT * FROM my_table" --bench
# Concurrent benchmark - measures throughput under load
dft -c "SELECT * FROM my_table" --bench --concurrent
# Custom iteration count
dft -c "SELECT * FROM my_table" --bench -n 100
# Save results to CSV for analysis
dft -c "SELECT * FROM my_table" --bench --save results.csv
# Compare serial vs concurrent performance
dft -c "SELECT * FROM my_table" --bench --save results.csv
dft -c "SELECT * FROM my_table" --bench --concurrent --save results.csv --appendBenchmark Output:
concurrency_mode column for result comparisonSerial vs Concurrent:
min(iterations, CPU cores)dft can automatically load table definitions at startup, giving you a persistent "database-like" experience.
~/.config/dft/ddl.sql)-- S3 data source (requires s3 feature)
CREATE EXTERNAL TABLE users
STORED AS NDJSON
LOCATION 's3://bucket/users';
-- Parquet files
CREATE EXTERNAL TABLE transactions
STORED AS PARQUET
LOCATION 's3://bucket/transactions';
-- Local files
CREATE EXTERNAL TABLE listings
STORED AS PARQUET
LOCATION 'file://folder/listings';
-- Create views from tables
CREATE VIEW users_listings AS
SELECT * FROM users
LEFT JOIN listings USING (user_id);
-- Delta Lake table (requires deltalake feature)
CREATE EXTERNAL TABLE delta_table
STORED AS DELTATABLE
LOCATION 's3://bucket/delta_table';tui feature): DDL is automatically loaded at startup--run-ddl flag to execute DDL before your query[execution]
ddl_path = "/path/to/my/ddl.sql"| Feature | Documentation |
|---|---|
| Core Features | Features Guide |
| Database | Database Guide |
| TUI Interface | TUI Guide |
| CLI Usage | CLI Guide |
| FlightSQL Server | FlightSQL Guide |
| HTTP Server | HTTP Guide |
| Configuration Options | Config Reference |
暂无开放 Issues,或尚未同步最近议题。