Documentation
¶
Overview ¶
Package window 提供了窗口操作的实现,包括滚动窗口(Tumbling Window)。
Index ¶
- Constants
- func GetTimestamp(data interface{}, tsProp string, timeUnit time.Duration) time.Time
- type CountingWindow
- type SessionWindow
- func (sw *SessionWindow) Add(data interface{})
- func (sw *SessionWindow) OutputChan() <-chan []types.Row
- func (sw *SessionWindow) Reset()
- func (sw *SessionWindow) SetCallback(callback func([]types.Row))
- func (sw *SessionWindow) Start()
- func (sw *SessionWindow) Stop()
- func (sw *SessionWindow) Trigger()
- type SlidingWindow
- func (sw *SlidingWindow) Add(data interface{})
- func (sw *SlidingWindow) GetStats() map[string]int64
- func (sw *SlidingWindow) NextSlot() *types.TimeSlot
- func (sw *SlidingWindow) OutputChan() <-chan []types.Row
- func (sw *SlidingWindow) Reset()
- func (sw *SlidingWindow) ResetStats()
- func (sw *SlidingWindow) SetCallback(callback func([]types.Row))
- func (sw *SlidingWindow) Start()
- func (sw *SlidingWindow) Stop()
- func (sw *SlidingWindow) Trigger()
- type TimedData
- type TumblingWindow
- func (tw *TumblingWindow) Add(data interface{})
- func (tw *TumblingWindow) GetStats() map[string]int64
- func (sw *TumblingWindow) NextSlot() *types.TimeSlot
- func (tw *TumblingWindow) OutputChan() <-chan []types.Row
- func (tw *TumblingWindow) Reset()
- func (tw *TumblingWindow) ResetStats()
- func (tw *TumblingWindow) SetCallback(callback func([]types.Row))
- func (tw *TumblingWindow) Start()
- func (tw *TumblingWindow) Stop()
- func (tw *TumblingWindow) Trigger()
- type Window
Constants ¶
View Source
const ( TypeTumbling = "tumbling" TypeSliding = "sliding" TypeCounting = "counting" TypeSession = "session" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CountingWindow ¶
type CountingWindow struct {
// contains filtered or unexported fields
}
func NewCountingWindow ¶
func NewCountingWindow(config types.WindowConfig) (*CountingWindow, error)
func (*CountingWindow) Add ¶
func (cw *CountingWindow) Add(data interface{})
func (*CountingWindow) OutputChan ¶
func (cw *CountingWindow) OutputChan() <-chan []types.Row
func (*CountingWindow) Reset ¶
func (cw *CountingWindow) Reset()
func (*CountingWindow) SetCallback ¶
func (cw *CountingWindow) SetCallback(callback func([]types.Row))
func (*CountingWindow) Start ¶
func (cw *CountingWindow) Start()
func (*CountingWindow) Trigger ¶
func (cw *CountingWindow) Trigger()
type SessionWindow ¶
type SessionWindow struct {
// contains filtered or unexported fields
}
SessionWindow 表示一个会话窗口 会话窗口是基于事件时间的窗口,当一段时间内没有事件到达时,会话窗口就会关闭
func NewSessionWindow ¶
func NewSessionWindow(config types.WindowConfig) (*SessionWindow, error)
NewSessionWindow 创建一个新的会话窗口实例
func (*SessionWindow) OutputChan ¶
func (sw *SessionWindow) OutputChan() <-chan []types.Row
OutputChan 返回一个只读通道,用于接收窗口触发时的数据
func (*SessionWindow) SetCallback ¶
func (sw *SessionWindow) SetCallback(callback func([]types.Row))
SetCallback 设置会话窗口触发时的回调函数
type SlidingWindow ¶
type SlidingWindow struct {
// contains filtered or unexported fields
}
SlidingWindow 表示一个滑动窗口,用于按时间范围处理数据
func NewSlidingWindow ¶
func NewSlidingWindow(config types.WindowConfig) (*SlidingWindow, error)
NewSlidingWindow 创建一个新的滑动窗口实例 参数 size 表示窗口的总大小,slide 表示窗口每次滑动的时间间隔
func (*SlidingWindow) Add ¶
func (sw *SlidingWindow) Add(data interface{})
Add 向滑动窗口中添加数据 参数 data 表示要添加的数据
func (*SlidingWindow) GetStats ¶
func (sw *SlidingWindow) GetStats() map[string]int64
GetStats 获取窗口性能统计信息
func (*SlidingWindow) NextSlot ¶
func (sw *SlidingWindow) NextSlot() *types.TimeSlot
func (*SlidingWindow) OutputChan ¶
func (sw *SlidingWindow) OutputChan() <-chan []types.Row
OutputChan 返回滑动窗口的输出通道
func (*SlidingWindow) SetCallback ¶
func (sw *SlidingWindow) SetCallback(callback func([]types.Row))
SetCallback 设置滑动窗口触发时执行的回调函数 参数 callback 表示要设置的回调函数
type TumblingWindow ¶
type TumblingWindow struct {
// contains filtered or unexported fields
}
TumblingWindow 表示一个滚动窗口,用于在固定时间间隔内收集数据并触发处理。
func NewTumblingWindow ¶
func NewTumblingWindow(config types.WindowConfig) (*TumblingWindow, error)
NewTumblingWindow 创建一个新的滚动窗口实例。 参数 size 是窗口的时间大小。
func (*TumblingWindow) Add ¶
func (tw *TumblingWindow) Add(data interface{})
Add 向滚动窗口添加数据。 参数 data 是要添加的数据。
func (*TumblingWindow) GetStats ¶
func (tw *TumblingWindow) GetStats() map[string]int64
GetStats 获取窗口性能统计信息
func (*TumblingWindow) NextSlot ¶
func (sw *TumblingWindow) NextSlot() *types.TimeSlot
func (*TumblingWindow) OutputChan ¶
func (tw *TumblingWindow) OutputChan() <-chan []types.Row
OutputChan 返回一个只读通道,用于接收窗口触发时的数据。
func (*TumblingWindow) SetCallback ¶
func (tw *TumblingWindow) SetCallback(callback func([]types.Row))
SetCallback 设置滚动窗口触发时的回调函数。 参数 callback 是要设置的回调函数。
Click to show internal directories.
Click to hide internal directories.