Skip to main content

datafusion_distributed/
lib.rs

1#![deny(clippy::all)]
2
3mod common;
4mod config_extension_ext;
5mod distributed_ext;
6mod execution_plans;
7mod metrics;
8mod passthrough_headers;
9mod stage;
10mod worker;
11
12mod distributed_planner;
13mod networking;
14mod observability;
15mod protobuf;
16pub use protobuf::DistributedCodec;
17mod coordinator;
18#[cfg(any(feature = "integration", test))]
19pub mod test_utils;
20mod work_unit_feed;
21
22pub use arrow_ipc::CompressionType;
23pub use coordinator::DistributedExec;
24pub use distributed_ext::DistributedExt;
25pub use distributed_planner::{
26    DistributedConfig, NetworkBoundary, NetworkBoundaryExt, SessionStateBuilderExt,
27    TaskCountAnnotation, TaskEstimation, TaskEstimator, TaskRoutingContext,
28};
29pub use execution_plans::{
30    BroadcastExec, DistributedLeafExec, NetworkBroadcastExec, NetworkCoalesceExec,
31    NetworkShuffleExec,
32};
33pub use metrics::{
34    AvgLatencyMetric, BytesCounterMetric, BytesMetricExt, DISTRIBUTED_DATAFUSION_TASK_ID_LABEL,
35    DistributedMetricsFormat, FirstLatencyMetric, GaugeMetricExt, LatencyMetricExt, MaxGaugeMetric,
36    MaxLatencyMetric, MinLatencyMetric, P50LatencyMetric, P75LatencyMetric, P95LatencyMetric,
37    P99LatencyMetric, rewrite_distributed_plan_with_metrics,
38};
39pub use networking::{
40    BoxCloneSyncChannel, ChannelResolver, DefaultChannelResolver, WorkerResolver,
41    create_worker_client, get_distributed_channel_resolver, get_distributed_worker_resolver,
42};
43pub use stage::{
44    DistributedTaskContext, Stage, display_plan_ascii, display_plan_graphviz, explain_analyze,
45};
46pub use work_unit_feed::{
47    DistributedWorkUnitFeedContext, WorkUnit, WorkUnitFeed, WorkUnitFeedProto, WorkUnitFeedProvider,
48};
49pub use worker::generated::worker::worker_service_client::WorkerServiceClient;
50pub use worker::generated::worker::worker_service_server::WorkerServiceServer;
51pub use worker::generated::worker::{GetWorkerInfoRequest, GetWorkerInfoResponse, TaskKey};
52pub use worker::{
53    DefaultSessionBuilder, MappedWorkerSessionBuilder, MappedWorkerSessionBuilderExt, TaskData,
54    Worker, WorkerQueryContext, WorkerSessionBuilder,
55};
56
57pub use observability::{
58    GetClusterWorkersRequest, GetClusterWorkersResponse, GetTaskProgressRequest,
59    GetTaskProgressResponse, ObservabilityService, ObservabilityServiceClient,
60    ObservabilityServiceImpl, ObservabilityServiceServer, PingRequest, PingResponse, TaskProgress,
61    TaskStatus, WorkerMetrics,
62};
63
64#[cfg(any(feature = "integration", test))]
65pub use execution_plans::benchmarks::{
66    LocalRepartitionBench, LocalRepartitionFixture, LocalRepartitionMode, ShuffleBench,
67    ShuffleFixture, TransportBench, TransportBenchMode, TransportFixture,
68};