-
Notifications
You must be signed in to change notification settings - Fork 47
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Is your feature request related to a problem? Please describe.
If I want to use the tpchgen-cli functionality (since it is the simplest entrypoint), I need to cook my own thing with tpchgen and tpchgen-arrow. It would be very nice if tpchgen-cli is also exposed as an API to rust!
Describe the solution you'd like
Expose this function https://github.com/clflushopt/tpchgen-rs/blob/main/tpchgen-cli/src/main.rs#L250 and the CLI config struct so that I can do something like:
let tpch_runner = Cli {
scale_factor: 1.0,
output_dir: PathBuf::from("./data"),
tables: Some(vec![Table::Customer, Table::Orders]), // assuming Table enum variants
parts: Some(1),
part: None,
format: OutputFormat::Tbl,
num_threads: 4,
parquet_compression: Compression::SNAPPY,
verbose: true,
stdout: false,
parquet_row_group_bytes: 10_000_000, // 10 MB
};
tpch_runner.run()?; // or similarDescribe alternatives you've considered
Copy all the CLI implementation into my own application, which seems waistful.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request