[ 
https://issues.apache.org/jira/browse/BEAM-115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15979640#comment-15979640
 ] 

ASF GitHub Bot commented on BEAM-115:
-------------------------------------

GitHub user robertwb opened a pull request:

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

    [BEAM-115] Fn API support for Python

    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`. (Even better, enable
           Travis-CI on your fork and ensure the whole test matrix passes).
     - [ ] 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).
    
    ---


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

    $ git pull https://github.com/robertwb/incubator-beam fn-api

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

    https://github.com/apache/beam/pull/2644.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 #2644
    
----
commit 4f5c5241949473d81b18cb034640189ea98c49df
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T16:59:52Z

    Add instructions to regenerate Python proto wrappers.

commit f4f94db5bb3b64c015fd95de64bafd34770aaa21
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T17:00:20Z

    Generate python proto wrappers for runner and fn API.

commit 6f0e487749b777c5606a69865b7e47134d878a58
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T18:04:03Z

    Ignore generated files for linter.

commit aa1425c86f5def43ff9032b8666352b747d20440
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T18:09:03Z

    Ignore generated files in rat plugin.

commit 91428b06f8d4ced0bd3965801920cd94ee8298c6
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T19:15:02Z

    Add apache licence to generated files.

commit 27f718e89d1829b5b217f263d4b4deb8832c947d
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-20T20:59:25Z

    Add fn api runner.

commit f987622d524fa4245089f82fbd150c0cf9ae380d
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-20T21:20:29Z

    Restore __init__.py

commit 45ccb571aed5e51ef893428c2a5350ba01864aac
Author: Robert Bradshaw <rober...@robertwb-u.cbf.corp.google.com>
Date:   2017-04-20T20:44:33Z

    Add runner core files.

commit c6310ad8236578c05432244ced40fe572c2d71a7
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-20T21:23:30Z

    move files around

commit 0f9de53c7007e200e5f04c9a30349313b2bdff39
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-20T21:27:14Z

    more moving

commit 2f5c518bff028878b7d18a30141beea734cb36a0
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-20T21:43:28Z

    Rename runners.

commit 85b2172c1d8d6a5797015c15cd5a301de4a252c6
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-20T21:53:26Z

    cythonization works

commit 9f1177db48fa0230fab463cb7a5d784b96c9e084
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-20T22:03:52Z

    test module import renames

commit a0e8d792bbfac4550e4399b29c9004f67b82cbd0
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-20T22:06:30Z

    remove google3s

commit dfc0b2f3ca04594a2167eaadc7882ca257cdca5f
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-20T22:07:37Z

    move sdk_harness to sdk_worker

commit 8b08216c54e65fd0eb5a6c9588405cb4301267b2
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-20T22:09:33Z

    Remove unused end_time from statesampler.

commit 011dec575a4066eb7e50c0bff2bad78a9cadd449
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T16:59:52Z

    Add instructions to regenerate Python proto wrappers.

commit 4a74cdd528c6e9800c66152f9498592f51b59248
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T17:00:20Z

    Generate python proto wrappers for runner and fn API.

commit 5dcd25d144f784a5b9bd6bd668c2ceb8bc2680f3
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T18:04:03Z

    Ignore generated files for linter.

commit 5697ecdca1c14ce926f0be63399df77609c12aaf
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T18:09:03Z

    Ignore generated files in rat plugin.

commit 57a16aa810f5e4ef14c5f2ced901c3bb6fbc7b1a
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T19:15:02Z

    Add apache licence to generated files.

commit a8456be3830869e5b51e24970655819bc832bd79
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T19:36:27Z

    implement portpicker, fix more imports

commit c4633f174d436304da142606145a4827c9da7f4e
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T20:04:22Z

    portpicker fixes

commit f349f14e49e03b675ad7f7ab06e2c871c9d5eae4
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T20:04:35Z

    more import fixes

commit cc1dc88e83a5ed7ba0c04fbd10943ec98d920c73
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T21:22:07Z

    Adapt to PR #2505 changes to protos.

commit cb09e464c3da6358b203fad681bba41fb3d4a837
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T21:22:37Z

    Merge branch 'gen-protos' into fn-api

commit a11349156833c9fb1df0263c9289f9bebe1c51d3
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T21:38:12Z

    disble simple state creation

commit b64991b2f08a5f21da440f86f90870e323ae0407
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T21:43:28Z

    more package renames

commit c857789993cc8333c7d27c3527701e794fd3615d
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T21:50:00Z

    remove google3, fix imports

commit acc28a2b75cb338ed6f1f7e9edebec646c1e29db
Author: Robert Bradshaw <rober...@gmail.com>
Date:   2017-04-21T21:52:25Z

    fix more imports, google3 in portability dir

----


> Beam Runner API
> ---------------
>
>                 Key: BEAM-115
>                 URL: https://issues.apache.org/jira/browse/BEAM-115
>             Project: Beam
>          Issue Type: Improvement
>          Components: beam-model-runner-api
>            Reporter: Kenneth Knowles
>            Assignee: Kenneth Knowles
>
> The PipelineRunner API from the SDK is not ideal for the Beam technical 
> vision.
> It has technical limitations:
>  - The user's DAG (even including library expansions) is never explicitly 
> represented, so it cannot be analyzed except incrementally, and cannot 
> necessarily be reconstructed (for example, to display it!).
>  - The flattened DAG of just primitive transforms isn't well-suited for 
> display or transform override.
>  - The TransformHierarchy isn't well-suited for optimizations.
>  - The user must realistically pre-commit to a runner, and its configuration 
> (batch vs streaming) prior to graph construction, since the runner will be 
> modifying the graph as it is built.
>  - It is fairly language- and SDK-specific.
> It has usability issues (these are not from intuition, but derived from 
> actual cases of failure to use according to the design)
>  - The interleaving of apply() methods in PTransform/Pipeline/PipelineRunner 
> is confusing.
>  - The TransformHierarchy, accessible only via visitor traversals, is 
> cumbersome.
>  - The staging of construction-time vs run-time is not always obvious.
> These are just examples. This ticket tracks designing, coming to consensus, 
> and building an API that more simply and directly supports the technical 
> vision.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to