[ 
https://issues.apache.org/jira/browse/BEAM-3293?focusedWorklogId=682690&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-682690
 ]

ASF GitHub Bot logged work on BEAM-3293:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 17/Nov/21 15:27
            Start Date: 17/Nov/21 15:27
    Worklog Time Spent: 10m 
      Work Description: lostluck merged pull request #16006:
URL: https://github.com/apache/beam/pull/16006


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 682690)
    Time Spent: 5h 20m  (was: 5h 10m)

> 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: 5h 20m
>  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.1#820001)

Reply via email to