Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Unified Data Workflows with Fugue -  William Smith

Unified Data Workflows with Fugue (eBook)

The Complete Guide for Developers and Engineers
eBook Download: EPUB
2025 | 1. Auflage
250 Seiten
HiTeX Press (Verlag)
978-0-00-106530-7 (ISBN)
Systemvoraussetzungen
8,47 inkl. MwSt
(CHF 8,25)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

'Unified Data Workflows with Fugue'
'Unified Data Workflows with Fugue' is a comprehensive guide that addresses the evolving landscape of data engineering, where heterogeneous compute engines, rapid cloud adoption, and growing regulatory demands make workflow unification both a challenge and a necessity. The book begins by tracing the historical transition from legacy ETL processes to the era of unified data workflows, articulating the fundamental need for framework-agnostic design to promote reusability, modularity, and maintainability. Through detailed comparisons of leading distributed frameworks-such as Spark, Dask, and Pandas-the opening chapters position Fugue as a pioneering solution for advanced data practitioners seeking to abstract business logic from underlying compute environments.
The core architecture of Fugue is meticulously unpacked, guiding readers through its decoupled execution model, universal data representations, extensible plug-in system, and robust error management strategies. Successive chapters provide hands-on expertise in programming with Fugue's declarative and programmatic APIs, demonstrating how unified workflows can be built using both intuitive SQL-like syntax and powerful Python abstractions. Special attention is paid to practical concerns, including cross-backend portability, performance optimization, advanced workflow orchestration, and seamless integration with popular tools like Airflow, Prefect, and Kubernetes.
Beyond technical execution, the book delivers actionable methodologies for workflow reuse, testing, versioning, CI/CD, and compliance within regulated industries. Advanced sections cover topics such as large-scale streaming, MLOps, high-availability strategies, data governance, and confidential computing. Real-world case studies and expert heuristics further cement Fugue's value proposition, while a forward-looking finale situates Fugue in the modern data stack and explores emerging trends in AI-enabled engineering. Whether you are modernizing enterprise ETL, architecting scalable analytics, or building the next generation of declarative data platforms, this book offers the rigorous, holistic perspective needed to succeed with unified data workflows.

Chapter 2
Core Architecture of Fugue


What does it take to build workflows that transcend execution engines, cloud vendors, and data platforms? This chapter dissects the radical architectural choices behind Fugue—a system designed for clarity, extensibility, and true separation of concerns. Go beyond feature lists to uncover the internal mechanics powering Fugue’s interoperability, and glimpse how its components orchestrate reliable, pluggable, and future-proof data workflows.

2.1 Execution Model: Decoupled and Pluggable Backends


Fugue’s execution model centralizes the fundamental principle of separating the logical workflow specification from the physical compute implementation, enabling a flexible and extensible system for large-scale data processing. This decoupling allows users to define their analytical workflows declaratively without embedding backend-specific details, while dynamically leveraging various engines such as Spark, Dask, or Pandas under the hood. The design ensures seamless swapping or extension of execution backends without altering the user-level logic, thereby fostering portability, scalability, and maintainability.

Logical-Physical Separation


At the core lies the abstraction of a LogicalPlan that represents the data transformation graph. This plan is devoid of any reference to physical execution machinery. It encodes operators, datasets, and dependencies purely in terms of logical semantics-such as joins, aggregations, or filters-which are backend-agnostic. Once constructed, the LogicalPlan is passed to a compile-and-execute mechanism that delegates the concrete implementation to a PhysicalPlan tailored for the chosen backend.

This transformation process is illustrated schematically in Figure.

 

The compiler serves as a pluggable translator capable of generating backend-specific physical plans from a common logical plan structure. Each backend backend implementation understands a particular subset of operations and data abstractions and renders them into native execution constructs such as Spark DataFrames, Dask graphs, or Pandas DataFrames.

Job Lifecycle and Contracts


Each unit of the work corresponds to a Job, encapsulating the lifecycle from creation through execution to completion. The lifecycle stages include:

  • Job Definition: The logical operations are aggregated into a job definition that captures input datasets, transformations, and outputs, described entirely in a backend-neutral form.
  • Compilation: Using the registered translator for the selected backend, the job is compiled into a physical execution plan. This transition must honor a strict contract: the semantics of the logical operations must remain unchanged, and the job input and output interfaces must match the logical counterpart.
  • Execution: The physical plan is submitted to the target execution engine. The job manages lifecycle concerns such as resource allocation, fault tolerance, and progress monitoring abstracted away from the user.
  • Result Retrieval: After execution, results are materialized and converted back into the common logical data abstractions accessible by subsequent jobs or user queries.

This contract imposes several requirements on backend implementation:

  • Data interchange formats must be standardized so that inputs and outputs can be universally understood and transformed.
  • Operation equivalence: Every logical operator mapped to a backend implementation must maintain functional correctness, which involves semantic preservation and adherence to expected behavior, including edge cases and error conditions.
  • Determinism and reproducibility to ensure that logically equivalent plans produce identical results regardless of the backend.

Interface Design for Backend Pluggability


Fugue implements a well-defined interface abstraction that all backends conform to, empowering transparent backend switching and extensibility. The primary interface components include:

  • DataFrame API: A common facade representing tabular data, supporting essential transformations such as filter, projection, join, and aggregation. Each backend exposes an adapter that translates these calls into native operations.
  • Compiler Interface: A backend-specific compilation protocol that accepts a logical plan and emits a physical execution plan compatible with the backend. This interface also allows optimizations or rule-based rewriting targeted at backend capabilities.
  • Execution Context: Abstraction encapsulating backend session, resource management, and configuration parameters essential for running jobs.

Figure portrays the interface interaction between Fugue’s core and backends.

Figure 2.1: Logical separation and interface dependencies between Fugue core and supported backends.

Mechanisms for Transparent Backend Switching


Fugue’s internal dispatcher utilizes runtime configuration and heuristics to select the appropriate backend, directing the logical plans for compilation accordingly. Since all interactions happen through the unified interface, the user code remains unchanged regardless of the backend choice.

To achieve transparency, Fugue ensures:

  • Automatic resource initialization: Each backend adapter handles session startup and teardown, enabling seamless backend activation without manual intervention.
  • Backend capability detection: Before execution, Fugue probes backend features, adjusting compiler behavior-for example, fallback mechanisms when an operation is unsupported.
  • Consistent metadata management: Schema information, partitioning details, and data lineage are preserved uniformly across backends.

Extension and Customization of Backends


Extending Fugue with new or customized backends involves:

1.

Implementing the DataFrame API Adapter: This adapter translates generic DataFrame calls into backend-specific operations, optimizing for compute and memory efficiency.

2.

Providing a Compilation Strategy: Developing a code generator or compiler that transforms logical plans into executable plans in the new backend language or runtime.

3.

Managing Execution Context: Setting up resource managers and runtime environment handlers tailored to the backend’s operational model.

A minimal adapter must guarantee conformance to the core contracts-semantic fidelity, input-output schema matching, and status reporting. Advanced extensions can enhance the adapter with backend-specific optimizations, native integrations (e.g., GPU acceleration), or extended custom operators.

class CustomBackendAdapter(DataFrameAdapter):
def __init__(self, execution_context):
self.context = execution_context

def create_dataframe(self, data, schema):
# Convert input data to backend-specific dataframe
return CustomBackendDataFrame(data, schema)

def compile_logical_plan(self, logical_plan):
# Translate LogicalPlan nodes to backend-specific operations
physical_plan = CustomCompiler.compile(logical_plan)
return physical_plan

def execute_plan(self, physical_plan):
# Submit the physical plan to backend’s execution engine
result = self.context.run(physical_plan)
return result

This modular approach fosters innovation and community contributions, enabling Fugue to adapt quickly to evolving technologies and emerging computation engines.

Safety and Correctness Considerations


Backend-agnostic execution demands rigorous validation and fallback strategies. Fugue incorporates several techniques to...

Erscheint lt. Verlag 24.7.2025
Sprache englisch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
ISBN-10 0-00-106530-0 / 0001065300
ISBN-13 978-0-00-106530-7 / 9780001065307
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Adobe DRM)
Größe: 737 KB

Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine Adobe-ID und die Software Adobe Digital Editions (kostenlos). Von der Benutzung der OverDrive Media Console raten wir Ihnen ab. Erfahrungsgemäß treten hier gehäuft Probleme mit dem Adobe DRM auf.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine Adobe-ID sowie eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Apps programmieren für macOS, iOS, watchOS und tvOS

von Thomas Sillmann

eBook Download (2025)
Carl Hanser Verlag GmbH & Co. KG
CHF 40,95
Apps programmieren für macOS, iOS, watchOS und tvOS

von Thomas Sillmann

eBook Download (2025)
Carl Hanser Verlag GmbH & Co. KG
CHF 40,95