[ https://issues.apache.org/jira/browse/BEAM-3293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anonymous updated BEAM-3293: ---------------------------- Status: Triage Needed (was: Resolved) > Add lazy map side input form > ---------------------------- > > Key: BEAM-3293 > URL: https://issues.apache.org/jira/browse/BEAM-3293 > Project: Beam > Issue Type: Improvement > Components: sdk-go > Reporter: Henning Rohde > Assignee: Jack McCluskey > Priority: P3 > Fix For: 2.35.0 > > Time Spent: 5.5h > Remaining Estimate: 0h > > Add InputKinds LazyMap and LazyMultiMap that allow map lookup without reading > everything to memory. They will be accessed through functions such as: > func(K) func(*V) bool (a keyed function that returns an iterator) > func(K) []V (a keyed function that returns a slice > of values) > On the execution layer, the new forms would need to be added to > exec/sideinput.go > > [https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/exec/sideinput.go] > > The inputs layer, for the actual abstraction using reflection: > > [https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/exec/input.go] > The funcx package would need to be updated to detect the new parameter forms > > [https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/funcx/fn.go] > > [https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/funcx/sideinput.go] > as well has the DoFn graph validation code > > [https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/graph/fn.go#L566] > They would need to be correctly translated into the pipeline protos: > > [https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/graphx/translate.go#L315] > and finally back to the newly created handlers in the exec package. > > [https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/exec/translate.go#L402] > If implemented pre-generics, the code generator frontend, and backend would > need to be updated to detect and generate code for efficient no-reflection > overhead map access functions. > [https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/util/shimx/generate.go] > > > [https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/util/starcgenx/starcgenx.go] > Unit must be added throughout and Integration tests should be added to verify > the functionality against portable beam runners. > > [https://github.com/apache/beam/tree/master/sdks/go/test/integration/primitives] > And of course, the user GoDoc should be updated for the support. > See this lengthy email response for a more indepth guide to how Side Inputs > operate. > [https://lists.apache.org/thread.html/ra42dc7ee30842f11740eff33f0afcd63702695878e427127e1268381%40%3Cdev.beam.apache.org%3E] > -- This message was sent by Atlassian Jira (v8.20.10#820010)