datafusion_distributed/
lib.rs1#![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};