You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Generalize distributed partitioning onto a shared read-partition vocabulary
Add io_sources.partitions, a backend-neutral way to describe how to split a
read, and route the Ray executor through it.
A ReadPartition is one slice of the input, defined by a Polars predicate. A
Partitioner derives slices from the predicate pushed down at scan time, with
builders for common axes:
- by_time: calendar windows, built with Polars' temporal functions
- by_value: one slice per discrete value, or per member group
- by_range: fixed-width numeric buckets
- by_key: equality on caller-enumerated keys
- discrete_partitions / cartesian_partitions: explicit member lists and
date-window x bucket products
execute_on_ray takes a single partitions argument (a partitioner, an explicit
list of ReadPartition, or by_key); RayPartition additionally carries per-task
remote options. The date_column/time_unit calendar form is retained as a
shortcut for by_time.
Ordered output streams partitions in spec order by blocking on the next
partition while later tasks run ahead, so the number of outstanding results
stays bounded by max_concurrency instead of growing with the total output.
Signed-off-by: Pascal Tomecek <40371786+ptomecek@users.noreply.github.com>
0 commit comments