You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Andy Grove (Jira)" <ji...@apache.org> on 2020/07/15 14:21:00 UTC

[jira] [Created] (ARROW-9481) [Rust] [DataFusion] Create physical plan enum to wrap execution plan

Andy Grove created ARROW-9481:
---------------------------------

             Summary: [Rust] [DataFusion] Create physical plan enum to wrap execution plan
                 Key: ARROW-9481
                 URL: https://issues.apache.org/jira/browse/ARROW-9481
             Project: Apache Arrow
          Issue Type: Sub-task
          Components: Rust, Rust - DataFusion
            Reporter: Andy Grove
            Assignee: Andy Grove


By wrapping the execution plan structs in an enum, we make it possible to build a tree representing the physical plan just like we do with the logical plan. This makes it easy to print physical plans and also to apply transformations to it.
{code:java}
 pub enum PhysicalPlan {
    /// Projection.
    Projection(Arc<ProjectionExec>),
    /// Filter a.k.a predicate.
    Filter(Arc<FilterExec>),
    /// Hash aggregate
    HashAggregate(Arc<HashAggregateExec>),
    /// Performs a hash join of two child relations by first shuffling the data using the join keys.
    ShuffledHashJoin(ShuffledHashJoinExec),
    /// Performs a shuffle that will result in the desired partitioning.
    ShuffleExchange(Arc<ShuffleExchangeExec>),
    /// Reads results from a ShuffleExchange
    ShuffleReader(Arc<ShuffleReaderExec>),
    /// Scans a partitioned data source
    ParquetScan(Arc<ParquetScanExec>),
    /// Scans an in-memory table
    InMemoryTableScan(Arc<InMemoryTableScanExec>),
}{code}
h3.  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)