Expand description
Profiling (Phase 1).
A small, engine-delegated profiler that computes common column metrics using Polars under the hood, while keeping the public API in crate-owned types.
§Example
use rust_data_processing::profiling::{profile_dataset, ProfileOptions, SamplingMode};
use rust_data_processing::types::{DataSet, DataType, Field, Schema, Value};
let ds = DataSet::new(
Schema::new(vec![Field::new("score", DataType::Float64)]),
vec![vec![Value::Float64(1.0)], vec![Value::Null], vec![Value::Float64(3.0)]],
);
let rep = profile_dataset(
&ds,
&ProfileOptions {
sampling: SamplingMode::Head(2),
quantiles: vec![0.5],
},
)?;
assert_eq!(rep.row_count, 2);
assert_eq!(rep.columns[0].null_count, 1);Structs§
- Column
Profile - Numeric
Profile - Profile
Options - Options for profiling.
- Profile
Report
Enums§
- Sampling
Mode - How profiling should sample rows before computing metrics.
Functions§
- profile_
dataset - Profile an in-memory dataset.
- profile_
frame - Profile a pipeline frame (computed lazily).
- render_
profile_ report_ json - Render a profile report to a stable JSON string.
- render_
profile_ report_ markdown - Render a profile report to a human-readable Markdown string.