Documentation
¶
Index ¶
- Constants
- func Fuse(first GenerateFunc, others ...GenerateFunc) (proto.Dataset, error)
- func NewOrderedDataset(dataset RandomAccessDataset, items []OrderByItem) proto.Dataset
- func NewParallelBuilder() parallelBuilder
- func Pipe(root proto.Dataset, options ...Option) proto.Dataset
- type AggregateItem
- type AggregateReducer
- type FieldsFunc
- type FilterDataset
- type FilterDatasetPrefix
- type FuseableDataset
- type GenerateFunc
- type GroupDataset
- type JoinColumn
- type Option
- func Filter(predicate PredicateFunc) Option
- func FilterPrefix(predicate PredicateFunc, prefix string) Option
- func GroupReduce(groups []OrderByItem, generateFields FieldsFunc, reducer func() Reducer) Option
- func Map(generateFields FieldsFunc, transform TransformFunc) Option
- func Reduce(reducers map[int]reduce.Reducer) Option
- type OrderByItem
- type OrderByValue
- type PeekableDataset
- type PredicateFunc
- type PriorityQueue
- type RandomAccessDataset
- type ReduceDataset
- type Reducer
- type RowItem
- type SortMergeJoin
- func (s *SortMergeJoin) Close() error
- func (s *SortMergeJoin) DescartesFlag() bool
- func (s *SortMergeJoin) EqualIndex(key string) int
- func (s *SortMergeJoin) EqualValue(key string) proto.Row
- func (s *SortMergeJoin) EqualValueLen(key string) int
- func (s *SortMergeJoin) Fields() ([]proto.Field, error)
- func (s *SortMergeJoin) LastInnerRow() proto.Row
- func (s *SortMergeJoin) LastRow() proto.Row
- func (s *SortMergeJoin) Next() (proto.Row, error)
- func (s *SortMergeJoin) NextOuterRow() proto.Row
- func (s *SortMergeJoin) ResetLastInnerRow()
- func (s *SortMergeJoin) ResetLastRow()
- func (s *SortMergeJoin) ResetNextOuterRow()
- func (s *SortMergeJoin) SetEqualValue(key string, value proto.Row)
- func (s *SortMergeJoin) SetLastInnerRow(v proto.Row)
- func (s *SortMergeJoin) SetLastRow(v proto.Row)
- func (s *SortMergeJoin) SetNextOuterRow(v proto.Row)
- type TransformDataset
- type TransformFunc
- type VirtualDataset
Constants ¶
View Source
const ( IsDescartes = true NotDescartes = false )
Variables ¶
This section is empty.
Functions ¶
func Fuse ¶
func Fuse(first GenerateFunc, others ...GenerateFunc) (proto.Dataset, error)
func NewOrderedDataset ¶
func NewOrderedDataset(dataset RandomAccessDataset, items []OrderByItem) proto.Dataset
func NewParallelBuilder ¶
func NewParallelBuilder() parallelBuilder
Types ¶
type AggregateItem ¶
type AggregateItem struct {
// contains filtered or unexported fields
}
type AggregateReducer ¶
type AggregateReducer struct { AggItems map[int]merge.Aggregator Fields []proto.Field OriginColumnCount int // contains filtered or unexported fields }
func NewGroupReducer ¶
func NewGroupReducer(aggFuncMap map[int]func() merge.Aggregator, fields []proto.Field, originColumnCount int) *AggregateReducer
func (*AggregateReducer) Row ¶
func (gr *AggregateReducer) Row() proto.Row
type FilterDataset ¶
type FilterDataset struct { proto.Dataset Predicate PredicateFunc }
type FilterDatasetPrefix ¶
type FilterDatasetPrefix struct { proto.Dataset Predicate PredicateFunc Prefix string }
type FuseableDataset ¶
type FuseableDataset struct {
// contains filtered or unexported fields
}
func (*FuseableDataset) Close ¶
func (fu *FuseableDataset) Close() error
func (*FuseableDataset) ToParallel ¶
func (fu *FuseableDataset) ToParallel() RandomAccessDataset
type GenerateFunc ¶
type GroupDataset ¶
type GroupDataset struct { // Should be an orderedDataset proto.Dataset // contains filtered or unexported fields }
func (*GroupDataset) Close ¶
func (gd *GroupDataset) Close() error
type JoinColumn ¶
type JoinColumn struct {
// contains filtered or unexported fields
}
func (*JoinColumn) Column ¶
func (j *JoinColumn) Column() string
type Option ¶
type Option func(*pipeOption)
func Filter ¶
func Filter(predicate PredicateFunc) Option
func FilterPrefix ¶
func FilterPrefix(predicate PredicateFunc, prefix string) Option
func GroupReduce ¶
func GroupReduce(groups []OrderByItem, generateFields FieldsFunc, reducer func() Reducer) Option
func Map ¶
func Map(generateFields FieldsFunc, transform TransformFunc) Option
type OrderByItem ¶
type OrderByValue ¶
type PeekableDataset ¶
type PeekableDataset interface { proto.Dataset // Peek peeks the next row, but will not consume it. Peek() (proto.Row, error) }
PeekableDataset represents a peekable dataset.
func Peekable ¶
func Peekable(origin proto.Dataset) PeekableDataset
Peekable converts a dataset to a peekable one.
type PredicateFunc ¶
type PriorityQueue ¶
type PriorityQueue struct {
// contains filtered or unexported fields
}
func NewPriorityQueue ¶
func NewPriorityQueue(rows []*RowItem, orderByItems []OrderByItem) *PriorityQueue
func (*PriorityQueue) Len ¶
func (pq *PriorityQueue) Len() int
func (*PriorityQueue) Less ¶
func (pq *PriorityQueue) Less(i, j int) bool
func (*PriorityQueue) Pop ¶
func (pq *PriorityQueue) Pop() interface{}
func (*PriorityQueue) Push ¶
func (pq *PriorityQueue) Push(x interface{})
func (*PriorityQueue) Swap ¶
func (pq *PriorityQueue) Swap(i, j int)
type RandomAccessDataset ¶
type RandomAccessDataset interface { PeekableDataset // Len returns the length of sub-datasets. Len() int // PeekN peeks the next row with specified index. PeekN(index int) (proto.Row, error) // SetNextN force sets the next index of row. SetNextN(index int) error }
func Parallel ¶
func Parallel(first GenerateFunc, others ...GenerateFunc) (RandomAccessDataset, error)
Parallel creates a thread-safe dataset, which can be random-accessed in parallel.
type ReduceDataset ¶
type Reducer ¶
type Reducer interface { // Reduce reduces next row. Reduce(next proto.Row) error // Row returns the result row. Row() proto.Row }
Reducer represents the way to reduce rows.
type SortMergeJoin ¶
type SortMergeJoin struct {
// contains filtered or unexported fields
}
SortMergeJoin assume all outer data and inner data are sorted by join column
func NewSortMergeJoin ¶
func NewSortMergeJoin(joinType ast.JoinType, joinColumn *JoinColumn, outer proto.Dataset, inner proto.Dataset) (*SortMergeJoin, error)
func (*SortMergeJoin) Close ¶
func (s *SortMergeJoin) Close() error
func (*SortMergeJoin) DescartesFlag ¶
func (s *SortMergeJoin) DescartesFlag() bool
func (*SortMergeJoin) EqualIndex ¶
func (s *SortMergeJoin) EqualIndex(key string) int
func (*SortMergeJoin) EqualValue ¶
func (s *SortMergeJoin) EqualValue(key string) proto.Row
func (*SortMergeJoin) EqualValueLen ¶
func (s *SortMergeJoin) EqualValueLen(key string) int
func (*SortMergeJoin) LastInnerRow ¶
func (s *SortMergeJoin) LastInnerRow() proto.Row
func (*SortMergeJoin) LastRow ¶
func (s *SortMergeJoin) LastRow() proto.Row
func (*SortMergeJoin) NextOuterRow ¶
func (s *SortMergeJoin) NextOuterRow() proto.Row
func (*SortMergeJoin) ResetLastInnerRow ¶
func (s *SortMergeJoin) ResetLastInnerRow()
func (*SortMergeJoin) ResetLastRow ¶
func (s *SortMergeJoin) ResetLastRow()
func (*SortMergeJoin) ResetNextOuterRow ¶
func (s *SortMergeJoin) ResetNextOuterRow()
func (*SortMergeJoin) SetEqualValue ¶
func (s *SortMergeJoin) SetEqualValue(key string, value proto.Row)
func (*SortMergeJoin) SetLastInnerRow ¶
func (s *SortMergeJoin) SetLastInnerRow(v proto.Row)
func (*SortMergeJoin) SetLastRow ¶
func (s *SortMergeJoin) SetLastRow(v proto.Row)
func (*SortMergeJoin) SetNextOuterRow ¶
func (s *SortMergeJoin) SetNextOuterRow(v proto.Row)
type TransformDataset ¶
type TransformDataset struct { proto.Dataset FieldsGetter FieldsFunc Transform TransformFunc // contains filtered or unexported fields }
type VirtualDataset ¶
func (*VirtualDataset) Close ¶
func (cu *VirtualDataset) Close() error
Click to show internal directories.
Click to hide internal directories.