You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/12/05 22:32:59 UTC

[jira] [Commented] (BEAM-115) Beam Runner API

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

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

GitHub user tgroh opened a pull request:

    https://github.com/apache/incubator-beam/pull/1511

    [BEAM-115] Only provide expanded Inputs and Outputs

    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.txt).
    
    ---
    
    This removes PInput and POutput from the API Surface of
    TransformHierarchy.Node, at least directly, and forces Pipeline Visitors
    to access only the expanded version of the output.
    
    This is part of the move towards the runner-agnostic representation of a
    graph.

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

    $ git pull https://github.com/tgroh/incubator-beam transform_hierarchy_always_expanded

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

    https://github.com/apache/incubator-beam/pull/1511.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 #1511
    
----
commit aff19c18efb45747edca1b903f024a74c1939a34
Author: Thomas Groh <tg...@google.com>
Date:   2016-12-05T22:29:05Z

    Only provide expanded Inputs and Outputs
    
    This removes PInput and POutput from the API Surface of
    TransformHierarchy.Node, at least directly, and forces Pipeline Visitors
    to access only the expanded version of the output.
    
    This is part of the move towards the runner-agnostic representation of a
    graph.

----


> Beam Runner API
> ---------------
>
>                 Key: BEAM-115
>                 URL: https://issues.apache.org/jira/browse/BEAM-115
>             Project: Beam
>          Issue Type: Improvement
>          Components: runner-core
>            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.4#6332)