GitHub user kennknowles opened a pull request:

    https://github.com/apache/beam/pull/3195

    [BEAM-2333] Key DirectRunner translators off URN

    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
     - [ ] Make sure the PR title is formatted like:
       `[BEAM-<Jira issue #>] Description of pull request`
     - [ ] Make sure tests pass via `mvn clean verify`.
     - [ ] Replace `<Jira issue #>` in the title with the actual Jira issue
           number, if there is one.
     - [ ] If this contribution is large, please file an Apache
           [Individual Contributor License 
Agreement](https://www.apache.org/licenses/icla.pdf).
    
    ---
    
    R: @tgroh 
    
    This is a bit of a work in progress, mostly to flesh out what is needed for 
a runner to work with a to-proto-and-back pipeline, and to get early feedback 
since you know the direct runner as well as pipeline surgery and transform 
payload translators.
    
     - `RawPTransform` is the thing that will be built from a proto. It just 
has a URN and payload, but we might add conveniences like `RawParDo` that 
exposes all the expected methods. (naming TBD)
     - The translator can just give a URN without actually translating, since 
that might be common and shared between pre-proto and post-proto transforms. 
Previously the only access to a URN was via a full translation.
     - The direct runner keys its evaluators on URNs. Later, they should work 
only with post-proto stuff, or otherwise be agnostic as to whether the pipeline 
is pre/post proto. Even later, the overrides should be similarly ported.
    
    TODO for this PR is to register the translators for shared bits like 
`SplittableDoFn` and then work out any kinks.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/kennknowles/beam DirectRunner-URNs

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/beam/pull/3195.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3195
    
----
commit 9ff0440506f87981757bd3c005aa830606257e4a
Author: Kenneth Knowles <[email protected]>
Date:   2017-05-20T03:54:36Z

    Centralize primitive URNs in PTransforms class

commit a472eac9abb02f8c2f3ebd6f3abe6920c6a5ae55
Author: Kenneth Knowles <[email protected]>
Date:   2017-05-20T03:55:25Z

    Allow getting URN for class of transform via translator

commit d169d5a360d2663a2838766d2ce6ebda06287f37
Author: Kenneth Knowles <[email protected]>
Date:   2017-05-20T04:28:19Z

    Add RawPTransform, which can just vend its URN and payload
    
    This is the type that will be returned when a pipeline is deserialized.
    This also is convenient for direct runner overrides which do not really
    merit translator registrations, yet URNs need to be known in order to
    key the evaluator registry off URN.

commit d45f70c83ced492d698229682e9bf909f5c02b8d
Author: Kenneth Knowles <[email protected]>
Date:   2017-05-20T04:35:43Z

    Make SdkComponents public for TransformPayloadTranslator

commit ffb1ba2c350812ef00f49988e9e50e0921767319
Author: Kenneth Knowles <[email protected]>
Date:   2017-05-20T03:53:32Z

    Use URNs in DirectRunner evaluator registry

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to