Documentation ¶
Index ¶
- func Compact(ctx context.Context, pool *lake.Pool, branchName string, ...) (ksuid.KSUID, error)
- func NewCommitMetaPlanner(ctx context.Context, zctx *zed.Context, r *lake.Root, ...) (from.Planner, error)
- func NewLakeMetaPlanner(ctx context.Context, zctx *zed.Context, r *lake.Root, meta string, ...) (from.Planner, error)
- func NewPlanner(ctx context.Context, zctx *zed.Context, p *lake.Pool, commit ksuid.KSUID, ...) (from.Planner, error)
- func NewPlannerByID(ctx context.Context, zctx *zed.Context, r *lake.Root, ...) (from.Planner, error)
- func NewPoolMetaPlanner(ctx context.Context, zctx *zed.Context, r *lake.Root, poolID ksuid.KSUID, ...) (from.Planner, error)
- func PartitionObjects(objects []*data.Object, o order.Which) []meta.Partition
- func ScanIndexes(ctx context.Context, snap commits.View, span extent.Span, o order.Which, ...) error
- func ScanPartitions(ctx context.Context, snap commits.View, span extent.Span, o order.Which, ...) error
- func ScanSpan(ctx context.Context, snap commits.View, span extent.Span, o order.Which, ...) error
- func ScanSpanInOrder(ctx context.Context, snap commits.View, span extent.Span, o order.Which, ...) error
- type BranchStats
- type Planner
- type PoolStats
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCommitMetaPlanner ¶
func NewLakeMetaPlanner ¶
func NewPlanner ¶
func NewPlannerByID ¶
func NewPoolMetaPlanner ¶
func PartitionObjects ¶
PartitionObjects takes a sorted set of data objects with possibly overlapping key ranges and returns an ordered list of Ranges such that none of the Ranges overlap with one another. This is the straightforward computational geometry problem of merging overlapping intervals, e.g., https://www.geeksforgeeks.org/merging-intervals/
XXX this algorithm doesn't quite do what we want because it continues to merge *anything* that overlaps. It's easy to fix though. Issue #2538
func ScanIndexes ¶
func ScanPartitions ¶
func ScanPartitions(ctx context.Context, snap commits.View, span extent.Span, o order.Which, ch chan<- meta.Partition) error
ScanPartitions partitions all the data objects in snap overlapping span into non-overlapping partitions, sorts them by pool key and order, and sends them to ch.
Types ¶
type BranchStats ¶
type BranchStats struct { Size int64 `zed:"size"` // XXX (nibs) - This shouldn't be a span because keys don't have to be time. Span *nano.Span `zed:"span"` }
func GetBranchStats ¶
type Planner ¶
type Planner struct {
// contains filtered or unexported fields
}
func NewSortedPlanner ¶
func (*Planner) PullScanWork ¶
PullScanWork returns the next span in the schedule. This is useful for a worker proc that pulls spans from teh scheduler, sends them to a remote worker, and streams the results into the runtime DAG.