liquid-cache-client 0.1.10

10x lower latency for cloud-native DataFusion
Documentation
---
source: src/client/src/tests/mod.rs
expression: displayable.tree_render().to_string()
---
┌───────────────────────────┐
│       ProjectionExec      │
│    --------------------   │
│        avg_yearly:        │
│     CAST(sum(lineitem     │
│      .l_extendedprice     │
│     ) AS Float64) / 7     │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│       AggregateExec       │
│    --------------------   │
│           aggr:           │
│        sum(lineitem       │
│        .l_extendedp       │
│           rice)           │
│                           │
│        mode: Final        │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│   CoalescePartitionsExec  │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│       AggregateExec       │
│    --------------------   │
│           aggr:           │
│        sum(lineitem       │
│        .l_extendedp       │
│           rice)           │
│                           │
│       mode: Partial       │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│    CoalesceBatchesExec    │
│    --------------------   │
│     target_batch_size:    │
│           16384           │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│        HashJoinExec       │
│    --------------------   │
│          filter:          │
│     CAST(l_quantity AS    │
│       Decimal128(30,      │
│    15)) < Float64(0.2) *  ├───────────────────────────────────────────┐
│  avg(lineitem.l_quantity) │                                           │
│                           │                                           │
│            on:            │                                           │
│  (p_partkey = l_partkey)  │                                           │
└─────────────┬─────────────┘                                           │
┌─────────────┴─────────────┐                             ┌─────────────┴─────────────┐
│       ProjectionExec      │                             │       ProjectionExec      │
│    --------------------   │                             │    --------------------   │
│      l_extendedprice:     │                             │     Float64(0.2) * avg    │
│      l_extendedprice      │                             │         (lineitem         │
│                           │                             │       .l_quantity):       │
│        l_quantity:        │                             │    CAST(0.2 * CAST(avg    │
│         l_quantity        │                             │         (lineitem         │
│                           │                             │      .l_quantity) AS      │
│    p_partkey: p_partkey   │                             │   Float64) AS Decimal128  │
│                           │                             │         (30, 15))         │
│                           │                             │                           │
│                           │                             │    l_partkey: l_partkey   │
└─────────────┬─────────────┘                             └─────────────┬─────────────┘
┌─────────────┴─────────────┐                             ┌─────────────┴─────────────┐
│    CoalesceBatchesExec    │                             │       AggregateExec       │
│    --------------------   │                             │    --------------------   │
│     target_batch_size:    │                             │           aggr:           │
│           16384           │                             │  avg(lineitem.l_quantity) │
│                           │                             │                           │
│                           │                             │    group_by: l_partkey    │
│                           │                             │                           │
│                           │                             │           mode:           │
│                           │                             │      FinalPartitioned     │
└─────────────┬─────────────┘                             └─────────────┬─────────────┘
┌─────────────┴─────────────┐                             ┌─────────────┴─────────────┐
│        HashJoinExec       │                             │    CoalesceBatchesExec    │
│    --------------------   │                             │    --------------------   │
│            on:            ├──────────────┐              │     target_batch_size:    │
│  (p_partkey = l_partkey)  │              │              │           16384           │
└─────────────┬─────────────┘              │              └─────────────┬─────────────┘
┌─────────────┴─────────────┐┌─────────────┴─────────────┐┌─────────────┴─────────────┐
│   LiquidCacheClientExec   ││   LiquidCacheClientExec   ││      RepartitionExec      │
│    --------------------   ││    --------------------   ││    --------------------   │
│          server:          ││          server:          ││ partition_count(in->out): │
│  http://localhost:50051,  ││  http://localhost:50051,  ││           8 -> 8          │
│      object_stores=[]     ││      object_stores=[]     ││                           │
│                           ││                           ││    partitioning_scheme:   │
│                           ││                           ││   Hash([l_partkey@0], 8)  │
└─────────────┬─────────────┘└─────────────┬─────────────┘└─────────────┬─────────────┘
┌─────────────┴─────────────┐┌─────────────┴─────────────┐┌─────────────┴─────────────┐
│       DataSourceExec      ││       DataSourceExec      ││      RepartitionExec      │
│    --------------------   ││    --------------------   ││    --------------------   │
│          files: 1         ││          files: 1         ││ partition_count(in->out): │
│      format: parquet      ││      format: parquet      ││           1 -> 8          │
│                           ││      predicate: true      ││                           │
│         predicate:        ││                           ││    partitioning_scheme:   │
│   p_brand = Brand#23 AND  ││                           ││     RoundRobinBatch(8)    │
│    p_container = MED BOX  ││                           ││                           │
└───────────────────────────┘└───────────────────────────┘└─────────────┬─────────────┘
                                                          ┌─────────────┴─────────────┐
                                                          │       AggregateExec       │
                                                          │    --------------------   │
                                                          │           aggr:           │
                                                          │  avg(lineitem.l_quantity) │
                                                          │                           │
                                                          │    group_by: l_partkey    │
                                                          │       mode: Partial       │
                                                          └─────────────┬─────────────┘
                                                          ┌─────────────┴─────────────┐
                                                          │   LiquidCacheClientExec   │
                                                          │    --------------------   │
                                                          │          server:          │
                                                          │  http://localhost:50051,  │
                                                          │      object_stores=[]     │
                                                          └─────────────┬─────────────┘
                                                          ┌─────────────┴─────────────┐
                                                          │       DataSourceExec      │
                                                          │    --------------------   │
                                                          │          files: 1         │
                                                          │      format: parquet      │
                                                          └───────────────────────────┘