batchsplitter

package
v0.0.0-rc17 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 29, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

README

Lets imagine we use BatchSplitter middleware and set MaxItemsPerBatch to 1000. The following diagram shows how does this middleware fit into the data transfer process(and how it interacts with bufferer in particular)

sequenceDiagram
    participant Souce
    participant Bufferer
    participant Middleware
    participant Sink
    Souce->>Bufferer: AsyncPush(changeItems [count = 1000])
    Souce->>Bufferer: AsyncPush(changeItems [count = 3000])
    Souce->>Bufferer: AsyncPush(changeItems [count = 700])
    Souce-->Sink: Trigger to push changes is activated
    Bufferer->>Middleware: Push(changeItems [count = 4700])
    Middleware->>Sink: Push(changeItems [count = 1000])
    Middleware->>Sink: Push(changeItems [count = 1000])
    Middleware->>Sink: Push(changeItems [count = 1000])
    Middleware->>Sink: Push(changeItems [count = 1000])
    Middleware->>Sink: Push(changeItems [count = 700])

Documentation

Index

Constants

View Source
const Type = abstract.TransformerType("batch_splitter")

Variables

View Source
var IdentityMiddleware = func(s abstract.Sinker) abstract.Sinker { return s }

Functions

func PluggableBatchSplitterTransformer

func PluggableBatchSplitterTransformer(transfer *model.Transfer, _ metrics.Registry, _ coordinator.Coordinator) func(abstract.Sinker) abstract.Sinker

Types

type BatchSplitterTransformer

type BatchSplitterTransformer struct {
	// contains filtered or unexported fields
}

func (*BatchSplitterTransformer) Apply

func (*BatchSplitterTransformer) Description

func (t *BatchSplitterTransformer) Description() string

func (*BatchSplitterTransformer) ResultSchema

func (t *BatchSplitterTransformer) ResultSchema(original *abstract.TableSchema) (*abstract.TableSchema, error)

func (*BatchSplitterTransformer) Suitable

func (*BatchSplitterTransformer) Type

type Config

type Config struct {
	MaxItemsPerBatch int `json:"max_items_per_batch"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL