Skip to content

[FEATURE] Expose the tpchgen-cli as a rust library #201

@guillesd

Description

@guillesd

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 similar

Describe alternatives you've considered
Copy all the CLI implementation into my own application, which seems waistful.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions