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()
---
┌───────────────────────────┐
│  SortPreservingMergeExec  │
│    --------------------   │
│     o_totalprice DESC,    │
│       o_orderdate ASC     │
│         NULLS LAST        │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│          SortExec         │
│    --------------------   │
│    o_totalprice@4 DESC,   │
│      o_orderdate@3 ASC    │
│         NULLS LAST        │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│       AggregateExec       │
│    --------------------   │
│           aggr:           │
│  sum(lineitem.l_quantity) │
│                           │
│         group_by:         │
│     c_name, c_custkey,    │
│         o_orderkey,       │
│        o_orderdate,       │
│        o_totalprice       │
│                           │
│           mode:           │
│      FinalPartitioned     │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│    CoalesceBatchesExec    │
│    --------------------   │
│     target_batch_size:    │
│           16384           │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│      RepartitionExec      │
│    --------------------   │
│ partition_count(in->out): │
│           8 -> 8          │
│                           │
│    partitioning_scheme:   │
│ Hash([c_name@0, c_custkey │
│     @1, o_orderkey@2,     │
│       o_orderdate@3,      │
│     o_totalprice@4], 8)   │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│       AggregateExec       │
│    --------------------   │
│           aggr:           │
│  sum(lineitem.l_quantity) │
│                           │
│         group_by:         │
│     c_name, c_custkey,    │
│         o_orderkey,       │
│        o_orderdate,       │
│        o_totalprice       │
│                           │
│       mode: Partial       │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│    CoalesceBatchesExec    │
│    --------------------   │
│     target_batch_size:    │
│           16384           │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│        HashJoinExec       │
│    --------------------   │
│    join_type: RightSemi   │
│                           ├──────────────┐
│            on:            │              │
│ (l_orderkey = o_orderkey) │              │
└─────────────┬─────────────┘              │
┌─────────────┴─────────────┐┌─────────────┴─────────────┐
│   CoalescePartitionsExec  ││      RepartitionExec      │
│                           ││    --------------------   │
│                           ││ partition_count(in->out): │
│                           ││           1 -> 8          │
│                           ││                           │
│                           ││    partitioning_scheme:   │
│                           ││     RoundRobinBatch(8)    │
└─────────────┬─────────────┘└─────────────┬─────────────┘
┌─────────────┴─────────────┐┌─────────────┴─────────────┐
│    CoalesceBatchesExec    ││    CoalesceBatchesExec    │
│    --------------------   ││    --------------------   │
│     target_batch_size:    ││     target_batch_size:    │
│           16384           ││           16384           │
└─────────────┬─────────────┘└─────────────┬─────────────┘
┌─────────────┴─────────────┐┌─────────────┴─────────────┐
│         FilterExec        ││        HashJoinExec       │
│    --------------------   ││    --------------------   │
│         predicate:        ││            on:            ├───────────────────────────────────────────┐
│ sum(lineitem.l_quantity) >││ (o_orderkey = l_orderkey) │                                           │
│      Some(30000),25,2     ││                           │                                           │
└─────────────┬─────────────┘└─────────────┬─────────────┘                                           │
┌─────────────┴─────────────┐┌─────────────┴─────────────┐                             ┌─────────────┴─────────────┐
│       AggregateExec       ││    CoalesceBatchesExec    │                             │   LiquidCacheClientExec   │
│    --------------------   ││    --------------------   │                             │    --------------------   │
│           aggr:           ││     target_batch_size:    │                             │          server:          │
│  sum(lineitem.l_quantity) ││           16384           │                             │  http://localhost:50051,  │
│                           ││                           │                             │      object_stores=[]     │
│    group_by: l_orderkey   ││                           │                             │                           │
│                           ││                           │                             │                           │
│           mode:           ││                           │                             │                           │
│      FinalPartitioned     ││                           │                             │                           │
└─────────────┬─────────────┘└─────────────┬─────────────┘                             └─────────────┬─────────────┘
┌─────────────┴─────────────┐┌─────────────┴─────────────┐                             ┌─────────────┴─────────────┐
│    CoalesceBatchesExec    ││        HashJoinExec       │                             │       DataSourceExec      │
│    --------------------   ││    --------------------   │                             │    --------------------   │
│     target_batch_size:    ││            on:            ├──────────────┐              │          files: 1         │
│           16384           ││  (c_custkey = o_custkey)  │              │              │      format: parquet      │
│                           ││                           │              │              │      predicate: true      │
└─────────────┬─────────────┘└─────────────┬─────────────┘              │              └───────────────────────────┘
┌─────────────┴─────────────┐┌─────────────┴─────────────┐┌─────────────┴─────────────┐
│      RepartitionExec      ││   LiquidCacheClientExec   ││   LiquidCacheClientExec   │
│    --------------------   ││    --------------------   ││    --------------------   │
│ partition_count(in->out): ││          server:          ││          server:          │
│           8 -> 8          ││  http://localhost:50051,  ││  http://localhost:50051,  │
│                           ││      object_stores=[]     ││      object_stores=[]     │
│    partitioning_scheme:   ││                           ││                           │
│  Hash([l_orderkey@0], 8)  ││                           ││                           │
└─────────────┬─────────────┘└─────────────┬─────────────┘└─────────────┬─────────────┘
┌─────────────┴─────────────┐┌─────────────┴─────────────┐┌─────────────┴─────────────┐
│      RepartitionExec      ││       DataSourceExec      ││       DataSourceExec      │
│    --------------------   ││    --------------------   ││    --------------------   │
│ partition_count(in->out): ││          files: 1         ││          files: 1         │
│           1 -> 8          ││      format: parquet      ││      format: parquet      │
│                           ││                           ││      predicate: true      │
│    partitioning_scheme:   ││                           ││                           │
│     RoundRobinBatch(8)    ││                           ││                           │
└─────────────┬─────────────┘└───────────────────────────┘└───────────────────────────┘
┌─────────────┴─────────────┐
│       AggregateExec       │
│    --------------------   │
│           aggr:           │
│  sum(lineitem.l_quantity) │
│                           │
│    group_by: l_orderkey   │
│       mode: Partial       │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│   LiquidCacheClientExec   │
│    --------------------   │
│          server:          │
│  http://localhost:50051,  │
│      object_stores=[]     │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│       DataSourceExec      │
│    --------------------   │
│          files: 1         │
│      format: parquet      │
└───────────────────────────┘