Expand description
This crate manage dataflow in Greptime, including adapter, expr, plan, repr and utils. It can transform substrait plan into itβs own plan and execute it. It also contains definition of expression, adapter and plan, and internal state management.
Re-exportsΒ§
ModulesΒ§
- adapter π
- for getting data from source and sending results to sink and communicating with other parts of the database
- batching_
mode π - Run flow as batching mode which is time-window-aware normal query triggered when new data arrives
- compute π
- Build and Compute the dataflow
- df_
optimizer π - Datafusion optimizer for flow plan
- engine π
- Define a trait for flow engine, which is used by both streaming engine and batch engine
- error
- Error definition for flow module
- expr π
- for declare Expression in dataflow, including map, reduce, id and join(TODO!) etc.
- heartbeat
- Send heartbeat from flownode to metasrv
- metrics π
- Some of the metrics used in the flow module.
- plan π
- This module contain basic definition for dataflowβs plan that can be translate to hydro dataflow
- repr π
- basically a wrapper around the
datatype
crate for basic Data Representation - server π
- Implementation of grpc service for flow node
- transform π
- Transform Substrait into execution plan
- utils π
- utilities for managing state of dataflow execution
StructsΒ§
- Flow
Auth Header - Flow
Config - Flow config that exists both in standalone&distributed mode
- Flownode
Builder FlownodeInstance
Builder- Flownode
Instance - The flownode server instance.
- Flownode
Options - Options for flow node
- Flownode
Server - Flownode
Service Builder - Useful in distributed mode
- Frontend
Invoker - Basically a tiny frontend that communicates with datanode, different from
FrontendClient
which connect to a real frontend instead, this is used for flowβs streaming engine. And is for simple query. - Streaming
Engine - FlowNodeManager manages the state of all tasks in the flow node, which should be run on the same thread
EnumsΒ§
- Frontend
Client - A simple frontend client able to execute sql using grpc protocol
TraitsΒ§
- Grpc
Query Handler With Boxed Error - Just like
GrpcQueryHandler
but use BoxedError
FunctionsΒ§
Type AliasesΒ§
- Flow
Streaming Engine Ref - Arc-ed FlowNodeManager, cheaper to clone