Skip to main content

datafusion_distributed/
lib.rs

1#![deny(clippy::all)]
2
3mod codec;
4mod common;
5mod config_extension_ext;
6mod coordinator;
7mod distributed_ext;
8mod distributed_planner;
9mod execution_plans;
10mod explain_analyze;
11mod metrics;
12mod passthrough_headers;
13mod protocol;
14mod stage;
15mod work_unit_feed;
16mod worker;
17mod worker_resolver;
18
19#[cfg(feature = "grpc")]
20pub use arrow_ipc::CompressionType;
21pub use coordinator::DistributedExec;
22pub use distributed_ext::{DistributedExt, DistributedGetterExt};
23pub use distributed_planner::{
24    DistributedConfig, NetworkBoundary, NetworkBoundaryExt, ProducerHead, SessionStateBuilderExt,
25};
26pub use events::{
27    DesiredTaskCountEvent, DesiredTaskCountEventResponse, DesiredTaskCountHandler, RouteTasksEvent,
28    RouteTasksEventResponse, RouteTasksHandler, ScaleUpLeafNodeEvent, ScaleUpLeafNodeEventResponse,
29    ScaleUpLeafNodeHandler, TaskCountAnnotation, WorkerPlanRewriteEvent,
30    WorkerPlanRewriteEventResponse, WorkerPlanRewriteHandler,
31};
32pub use execution_plans::{
33    BroadcastExec, DistributedLeafExec, NetworkBroadcastExec, NetworkCoalesceExec,
34    NetworkShuffleExec,
35};
36pub use metrics::{
37    AvgLatencyMetric, BytesCounterMetric, BytesMetricExt, DISTRIBUTED_DATAFUSION_TASK_ID_LABEL,
38    DistributedMetricsFormat, FirstLatencyMetric, GaugeMetricExt, LatencyMetricExt, MaxGaugeMetric,
39    MaxLatencyMetric, MinLatencyMetric, P50LatencyMetric, P75LatencyMetric, P95LatencyMetric,
40    P99LatencyMetric, rewrite_distributed_plan_with_metrics,
41};
42pub use protocol::LocalWorkerContext;
43
44mod events;
45#[cfg(any(feature = "integration", test))]
46pub mod test_utils;
47
48#[cfg(feature = "grpc")]
49pub use protocol::grpc;
50
51pub use codec::DistributedCodec;
52pub use common::MaybeEncoded;
53pub use worker_resolver::{WorkerResolver, get_distributed_worker_resolver};
54
55pub use protocol::{
56    ChannelResolver, CoordinatorToWorkerMsg, ExecuteTaskRequest, GetWorkerInfoRequest,
57    GetWorkerInfoResponse, LoadInfo, SetPlanRequest, TaskKey, TaskMetrics, WorkUnitBatch,
58    WorkUnitFeedDeclaration, WorkUnitMsg, WorkerChannel, WorkerToCoordinatorMsg,
59    get_distributed_channel_resolver,
60};
61pub use stage::{
62    DistributedTaskContext, Stage, display_plan_ascii, display_plan_graphviz, explain_analyze,
63};
64pub use work_unit_feed::{
65    DistributedWorkUnitFeedContext, WorkUnit, WorkUnitFeed, WorkUnitFeedProto, WorkUnitFeedProvider,
66};
67pub use worker::{
68    DefaultSessionBuilder, MappedWorkerSessionBuilder, MappedWorkerSessionBuilderExt, TaskData,
69    Worker, WorkerQueryContext, WorkerSessionBuilder,
70};
71
72#[cfg(any(feature = "integration", test))]
73pub use execution_plans::benchmarks::{
74    LocalRepartitionBench, LocalRepartitionFixture, LocalRepartitionMode, ShuffleBench,
75    ShuffleFixture, TransportBench, TransportBenchMode, TransportFixture,
76};