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;
17#[cfg(any(feature = "integration", test))]
18pub mod test_utils;
19
20pub use arrow_ipc::CompressionType;
21pub use distributed_ext::DistributedExt;
22pub use distributed_planner::{
23    DistributedConfig, DistributedPhysicalOptimizerRule, NetworkBoundary, NetworkBoundaryExt,
24    TaskCountAnnotation, TaskEstimation, TaskEstimator,
25};
26pub use execution_plans::{
27    BroadcastExec, DistributedExec, NetworkBroadcastExec, NetworkCoalesceExec, NetworkShuffleExec,
28    PartitionIsolatorExec,
29};
30pub use metrics::{
31    AvgLatencyMetric, BytesCounterMetric, BytesMetricExt, DISTRIBUTED_DATAFUSION_TASK_ID_LABEL,
32    DistributedMetricsFormat, FirstLatencyMetric, LatencyMetricExt, MaxLatencyMetric,
33    MinLatencyMetric, P50LatencyMetric, P75LatencyMetric, P95LatencyMetric, P99LatencyMetric,
34    rewrite_distributed_plan_with_metrics,
35};
36pub use networking::{
37    BoxCloneSyncChannel, ChannelResolver, DefaultChannelResolver, WorkerResolver,
38    create_worker_client, get_distributed_channel_resolver, get_distributed_worker_resolver,
39};
40pub use stage::{
41    DistributedTaskContext, ExecutionTask, Stage, display_plan_ascii, display_plan_graphviz,
42    explain_analyze,
43};
44pub use worker::generated::worker::worker_service_client::WorkerServiceClient;
45pub use worker::generated::worker::{GetWorkerInfoRequest, GetWorkerInfoResponse, TaskKey};
46pub use worker::{
47    DefaultSessionBuilder, MappedWorkerSessionBuilder, MappedWorkerSessionBuilderExt, TaskData,
48    Worker, WorkerQueryContext, WorkerSessionBuilder,
49};
50
51pub use observability::{
52    GetClusterWorkersRequest, GetClusterWorkersResponse, GetTaskProgressRequest,
53    GetTaskProgressResponse, ObservabilityService, ObservabilityServiceClient,
54    ObservabilityServiceImpl, ObservabilityServiceServer, PingRequest, PingResponse, TaskProgress,
55    TaskStatus, WorkerMetrics,
56};
57
58#[cfg(any(feature = "integration", test))]
59pub use execution_plans::benchmarks::ShuffleBench;