Cloud Data Fusion in Google Cloud: Building Data Pipelines by Drawing Instead of Coding
A complete, plain-English guide to Cloud Data Fusion, Google Cloud's managed visual data integration service: how pipelines are drawn, how they run, how data is cleaned and moved, and how to keep them secure, reliable and affordable.
Picture a busy kitchen that receives ingredients from a dozen different suppliers. Vegetables arrive in crates, fish in boxes, spices in jars, and every supplier uses its own labels. Before any dish can be served, someone must unpack everything, check it, wash it, chop it, combine it and plate it. Now imagine that instead of shouting instructions, the head chef simply draws a flow chart on a whiteboard, “crates go here, wash, then chop, then join with sauce, then plate,” and the kitchen follows the drawing exactly, every morning, without anyone repeating it. Cloud Data Fusion is that whiteboard for data. You draw the journey your data should take, and Google Cloud builds the kitchen, runs the recipe and tears the kitchen down when the work is done.
This guide starts from zero. You do not need to know programming, big data frameworks or Google Cloud internals. Every new word is explained with what it is, why it exists, where it is used, an everyday comparison and a practical example. By the end you will understand how Cloud Data Fusion is built, how pipelines are designed and run, how it fits with BigQuery and other Google Cloud services, and which habits keep it safe, fast and affordable.
1What Is Cloud Data Fusion?
Cloud Data Fusion is a fully managed service on Google Cloud for building and running data integration pipelines through a visual, drag-and-drop interface.
The Short Definition
Data integration means collecting data from many different places, such as databases, files, applications and message streams, cleaning it, reshaping it and delivering it to a destination where people can analyse it. This work is often called ETL, short for extract, transform, load, or ELT when the transformation happens after loading. Cloud Data Fusion lets you design these pipelines on a canvas by dropping boxes, called plugins, and connecting them with arrows. Under the surface, the service turns your drawing into a job that runs on a managed cluster of machines.
It is built on CDAP, an open-source data application framework. That matters for two reasons. First, the pipelines you draw are described in a portable format rather than being locked inside a closed tool. Second, there is a large library of ready-made plugins, so most common sources and destinations already have a box waiting for you.
Why It Exists
Moving and shaping data is one of the most repetitive and error-prone tasks in any organisation. Teams used to hand-write scripts for each source, schedule them with ad hoc tools, and struggle to remember what each script did. When the person who wrote a script left, nobody understood it. Cloud Data Fusion exists so that the structure of a pipeline is visible at a glance, so that people who are not expert programmers can build and maintain pipelines, and so that the infrastructure underneath is created and removed automatically.
Where It Is Used
Typical uses include loading data from operational databases into a warehouse such as BigQuery, consolidating files from many partners into one clean table, preparing data for reports and machine learning, migrating data from on-premises systems to the cloud, and keeping a copy of a database continuously updated for analysis.
A factory assembly line designed with a floor plan instead of a manual. Each station has one job: receive, inspect, clean, join, package. You arrange the stations on a drawing, and the factory management company builds the line, switches it on at the scheduled time and dismantles the temporary equipment afterwards. You manage the design, not the machines.
Cloud Data Fusion is not a place where data is stored or analysed. It is the moving and shaping layer between places. Data usually lives in sources and destinations such as databases, Cloud Storage and BigQuery, and Data Fusion carries it between them.
2Understanding Data Integration First
Before the tool makes sense, the problem it solves must be clear.
The Journey of Data
Data is created in many places: a shop’s checkout system, a mobile app, a payroll package, a partner’s spreadsheet. Each place stores data in its own format and its own style. One system writes dates as day-month-year, another as year-month-day. One calls a customer “client_id,” another “cust_no.” Reports that mix them are wrong or impossible until the data is aligned.
The Three Steps
Extract
Read the data from its original home without breaking that system or slowing it badly.
Transform
Clean mistakes, rename fields, fix formats, remove duplicates, join related data and calculate new values.
Load
Write the finished data to its destination in a form that is ready to use.
Batch versus Streaming
A batch pipeline processes a chunk of data at a time, for example everything from yesterday, on a schedule. A streaming or real-time pipeline processes events continuously as they arrive. Batch is simpler and cheaper. Streaming gives fresher results. Most organisations use mostly batch with a few streaming flows where freshness truly matters.
| Style | Runs when | Good for | Trade-off |
|---|---|---|---|
| Batch | On a schedule or when triggered | Daily reports, large historical loads, nightly cleansing | Results are as fresh as the last run |
| Streaming | Continuously | Live monitoring, fraud signals, instant dashboards | Costs run all the time and design is more demanding |
| Change capture (replication) | Continuously, copying only changes | Keeping an analytical copy of an operational database | Needs access to the source’s change log |
A postal service. Batch is the van that collects all letters from the box once at 5 p.m. Streaming is a courier who takes each letter the moment you drop it in. Change capture is a clerk who only forwards the letters that changed since yesterday’s list.
“Real-time is always better.” Real-time costs more and is harder to operate. Choose it only when a business decision truly depends on data being seconds old.
3Core Concepts and Vocabulary
Ten words unlock almost every conversation and document about Cloud Data Fusion.
Instance
One running copy of Cloud Data Fusion that you create in a project and region. It holds your pipelines and settings.
Pipeline
A drawn flow from sources through transformations to destinations. The unit you design, run and schedule.
Plugin
A single reusable box on the canvas: a source, a transformation, a destination or a control step.
Pipeline Studio
The visual designer where pipelines are drawn, configured, previewed and deployed.
Wrangler
An interactive workspace for exploring and cleaning a sample of data by clicking, which produces reusable cleaning steps.
Namespace
A way to group pipelines, connections and settings inside one instance, for example one per team or environment.
Compute Profile
A saved description of where and how a pipeline runs, such as the size of the temporary cluster.
Macro
A placeholder in a setting that is filled in at run time, so one pipeline can serve many dates, files or environments.
Schema
The list of fields in a dataset and their types, such as text, whole number or date.
Lineage
A record of where each field came from and what happened to it on the way to the destination.
A restaurant group. The instance is the restaurant building. A pipeline is one recipe card. Plugins are the steps on the card: chop, boil, season. Pipeline Studio is the recipe-writing desk. Wrangler is the tasting bench where a cook tries things on a small sample. A namespace is a separate kitchen section for each team. A compute profile is the size of the stove you rent for the day. A macro is a blank on the card, “bake for ___ minutes.” Lineage is the label showing where each ingredient came from.
flowchart TD
I["Instance"] --> N1["Namespace: finance"]
I --> N2["Namespace: marketing"]
N1 --> P1["Pipeline: daily sales load"]
N1 --> CN["Connections: database, storage"]
N2 --> P2["Pipeline: campaign clean-up"]
P1 --> PL1["Source plugin"]
P1 --> PL2["Transform plugins"]
P1 --> PL3["Sink plugin"]
P1 --> CP["Compute profile"]
4Architecture: The Control Plane and the Execution Engine
The most important idea is that designing a pipeline and running it are separate things done by separate machinery.
Design Time and Run Time
When you open Cloud Data Fusion in your browser, you are talking to the instance. The instance stores your pipeline designs, shows the web interface, keeps metadata and history, and decides when to start jobs. It does not itself process your big data. When a pipeline runs, the instance asks another service, most commonly Dataproc, to create a temporary cluster of machines. The pipeline executes on that cluster, using a distributed processing engine, usually Apache Spark. When the run finishes, the cluster is deleted so that you stop paying for it.
An architect’s office and a construction site. The office holds the drawings and the schedule. When it is time to build, the office hires a crew, sets up a site, builds the structure and sends the crew home. The architect’s office stays small and constant, while the site comes and goes with each job.
The Main Parts
The Instance and Its Web Interface
The always-on part. It hosts the designer, the pipeline list, the run history, the metadata store and the scheduler.
The Tenant Project
Cloud Data Fusion runs the instance inside a Google-managed project, separate from your own. You do not manage its machines, but it connects to your project to launch jobs.
The Execution Environment
Typically Dataproc clusters created in your own project for each run, running Spark. Existing clusters can also be used when you prefer to keep them warm.
Sources and Sinks
The systems the data is read from and written to, such as databases, Cloud Storage, BigQuery, message queues and applications.
The Metadata and Lineage Store
Keeps the details of datasets, schemas, runs and the path each field took, which supports discovery and auditing.
flowchart TD
U["Developer in browser"] --> IN["Cloud Data Fusion instance: designer, scheduler, metadata"]
IN --> PR["Compute profile"]
PR --> DP["Temporary Dataproc cluster in your project"]
DP --> SRC["Read from sources"]
SRC --> TR["Transform with Spark"]
TR --> SNK["Write to sinks"]
DP --> DEL["Cluster deleted after run"]
IN --> MD["Metadata and lineage"]
Why This Design Is Useful
Because processing happens on separate machines, one huge pipeline cannot freeze the designer for everyone else. Because clusters are temporary, you pay for compute only while data is being processed. Because the pipeline is described independently of the cluster, the same pipeline can run on a small cluster for a test and a large one for production just by changing the compute profile.
You pay twice, in different ways: for the instance that is always available for designing and scheduling, and for the compute used while pipelines run. Both matter when estimating cost.
5Editions: Developer, Basic and Enterprise
Cloud Data Fusion is offered in editions that trade price against capabilities. Choose by what your pipelines need.
| Edition | Intended use | What to expect |
|---|---|---|
| Developer | Learning, experiments and small development work | Lowest cost for the instance, limited scale and fewer enterprise features, not meant for production |
| Basic | Production batch pipelines with a visual designer | Core designer and execution, without the most advanced enterprise capabilities |
| Enterprise | Production at scale with advanced features | Adds capabilities such as streaming pipelines, replication, high availability options and richer governance features |
The exact list of features in each edition, along with prices and limits, changes over time, so always read the current edition comparison page before you decide. As a general rule, start a trial in the Developer edition, move to Basic for dependable batch work, and choose Enterprise when you need streaming, replication or the strictest availability and governance requirements.
Renting a vehicle. A small hatchback for learning to drive, a reliable sedan for daily commuting, and a heavy-duty truck with extra safety systems for serious freight. The road is the same, but what you can safely carry and how long you can rely on it differs.
How to Choose
List the pipelines you need
Are they all batch? Do you need streaming or change data replication?
Decide the reliability you need
Is a short outage of the designer or scheduler acceptable, or must it be highly available?
Check governance requirements
Do you need advanced access controls, strict network isolation or detailed lineage?
Compare with current documentation
Confirm the edition’s features and price in your region before committing.
Running production workloads on the lowest edition because it was already set up for a pilot. Pilot instances are for learning. Plan a proper production instance with the right edition before real data depends on it.
6Pipeline Studio: Drawing a Pipeline
Pipeline Studio is where most of the daily work happens. It feels like drawing a flow chart that actually runs.
The Canvas and the Palette
On the left is a palette of plugins grouped by kind. In the middle is a blank canvas. You drag a source plugin onto the canvas, then drag a transformation, then a destination, and join them with arrows showing the direction of the data. Each box has a settings panel where you give it a name, point it at a connection, choose fields and set options. The designer shows the list of fields that flows out of each box, so you can see how the data changes shape at every step.
Kinds of Plugins
Sources
Read data in, from databases, files, cloud storage, queues, applications and warehouses.
Transforms
Change data row by row: rename, convert types, apply cleaning rules, compute new fields, parse text.
Analytics
Work across rows: group and total, join two inputs, deduplicate, rank.
Sinks
Write data out to destinations such as BigQuery, Cloud Storage, databases and messaging systems.
Conditions and Actions
Control steps: run something before or after the data flow, branch on a condition, send a notification, run a SQL statement.
Error Handlers and Alerts
Catch records that fail rules and route them aside, or publish a message when something goes wrong.
The Life of a Design
Draw
Place plugins and connect them. Name each box clearly so the drawing explains itself.
Configure
Fill in settings, choose connections, and use macros for values that change between runs.
Preview
Run the pipeline on a small sample inside the designer to see the output at each step before spending cluster money.
Deploy
Save a finished version as a deployed pipeline that can be run, scheduled and monitored.
Run and watch
Start it manually or on a schedule, watch status and record counts, and review logs if anything fails.
Building with railway track pieces. Each piece has a purpose, a station, a switch, a tunnel. You lay them out, test the layout with a small toy train, and only then run the real freight.
Give every box a meaningful name such as “Remove test customers” rather than leaving the default. A pipeline with good names documents itself for the next person.
7Wrangler: Cleaning Data by Looking at It
Real data is messy. Wrangler lets you see the mess and fix it with clicks instead of guesses.
What Wrangler Does
Wrangler loads a small sample of a dataset into a spreadsheet-like view. You can click on a column and choose actions such as split it into parts, change its type, fix capitalisation, fill missing values, remove rows that do not meet a rule, mask sensitive values or parse structured text. Every action you take is recorded as a step, called a directive. When you are happy, you add the whole recipe to a pipeline as a single transformation box that applies the same steps to every row, not just the sample.
Common Cleaning Tasks
Fixing Formats
Dates arrive in different styles, phone numbers contain spaces and brackets, amounts include currency symbols. Wrangler standardises them into consistent types.
Splitting and Combining
A full name in one field is split into first and last names, or several address pieces are combined into one line.
Handling Missing Values
Rows with empty required fields can be dropped, filled with defaults or routed to a separate output for review.
Parsing Messy Text
Log lines, comma-separated text with odd quoting and nested structured text can be broken into proper columns.
Masking Sensitive Data
Personal values such as card numbers or national identifiers can be hidden or replaced before data leaves a protected area.
A tailor pinning a garment on a mannequin. You try the adjustments on one sample, see how it looks, and when the fit is right the shop applies the same pattern to every garment in the batch.
Trusting a sample that does not represent the whole data. If the first thousand rows are tidy but later rows contain surprises, the recipe may fail in production. Test with samples from different periods and sources, and design a place for rejected rows.
8Connectors: Sources and Destinations
A pipeline is only as useful as the places it can reach.
Reaching Data
Cloud Data Fusion includes plugins for a wide range of systems. Exact availability varies by version and edition, and additional plugins can be installed from a library called the Hub or added by your own developers. The families below are the ones most teams start with.
| Family | Examples | Typical role |
|---|---|---|
| Google Cloud services | BigQuery, Cloud Storage, Spanner, Bigtable, Pub/Sub, Datastore | Source and sink for cloud-native data |
| Relational databases | MySQL, PostgreSQL, SQL Server, Oracle, and others via drivers | Source of operational data, sometimes a sink |
| Files and formats | Delimited text, JSON, Avro, Parquet, ORC, XML, Excel | Batch loads and exports |
| Applications and SaaS | Business applications and enterprise systems through dedicated plugins | Pulling business records into the warehouse |
| Messaging | Pub/Sub and Kafka-style systems | Streaming sources and sinks |
| Other clouds and on-premises | Object storage and databases in other environments | Migration and hybrid pipelines |
Connections
Rather than typing the address and password into every box, you can create a named connection once, such as “Sales database,” and reuse it in many pipelines. Changing the password then happens in one place. Connections are also where you test that the instance can actually reach the system.
Custom Plugins and Drivers
If no ready-made plugin exists, your developers can write one and upload it, and database drivers can be uploaded so the generic database plugin can talk to a specific product. This keeps the visual approach available even for unusual systems, though it does need developer time.
A universal travel adapter set. Each plug type fits a different wall socket in a different country. The adapters in the box cover the common ones, a market sells more, and a handyman can make one for a strange socket.
Before designing a pipeline, confirm that a plugin exists for each system and that the network path between the instance, the cluster and that system is open. Network problems are the most frequent cause of a first pipeline failing.
9Transformations in Depth
Transformations are the heart of a pipeline, where raw becomes useful.
Row-by-Row Changes
Some steps look at one row at a time. Renaming fields, converting a text value to a number, calculating a total from price and quantity, extracting the year from a date, replacing codes with names, and removing rows that fail a rule are all row-level changes. They are cheap and can be spread evenly across the cluster.
Changes Across Rows
Other steps need to see many rows together. Group by collects rows with the same key and calculates totals, averages or counts. Joiner combines two inputs on a matching field, much like matching customers to orders. Deduplicate keeps one row for each key. Distinct removes repeated rows. Window and ranking steps compare each row with its neighbours. These steps require data to be reshuffled across the cluster, so they cost more time and memory.
| Step type | Example | Relative cost | Note |
|---|---|---|---|
| Row-level | Convert a date format | Low | Each row handled independently |
| Filter | Drop test customers | Low | Place early to shrink data |
| Group by | Total sales per store | Medium | Needs a shuffle by the grouping key |
| Join | Match orders to customers | Medium to high | Join size and key skew matter |
| Deduplicate | Keep latest record per customer | Medium | Needs a clear rule for which row wins |
Working with Joins Wisely
When one input is small, such as a list of country codes, and the other is huge, Cloud Data Fusion can keep the small input in memory on every worker so the huge one does not need reshuffling. This is often called a broadcast or in-memory join. When both inputs are large, a regular join is needed and key balance becomes important: if one key has far more rows than the rest, one worker does most of the work while the others wait.
Matching name tags to guests at a conference. If the guest list is short, every volunteer can keep a copy in their pocket and check guests as they arrive. If both lists are enormous, everyone must first sort their stacks alphabetically and meet in the middle, which takes far longer.
Using the Warehouse for Heavy Lifting
For very large aggregations, some teams load data into BigQuery first and let it do the heavy transformation with SQL, then use Data Fusion mainly to move and orchestrate. A pushdown feature in some versions lets certain pipeline steps run inside BigQuery directly. Choosing where the heavy work happens is one of the most useful design decisions you will make.
Filter and remove unneeded fields as early as possible. Moving less data through every later step is the simplest way to make a pipeline faster and cheaper.
10Compute Profiles and How Pipelines Actually Run
A compute profile tells Cloud Data Fusion where to run a pipeline and how much machinery to use.
Kinds of Profiles
Ephemeral Dataproc Cluster
A new cluster is created for each run and deleted afterwards. Costs track actual usage. This is the standard choice.
Existing Dataproc Cluster
Runs on a cluster you already keep running. Avoids start-up time but you pay while it idles.
Remote Hadoop or Provisioned Environments
Connects to clusters outside the managed setup, used for hybrid and on-premises needs.
Custom Settings
Choice of machine sizes, number of workers, disk sizes, network, labels and automatic clean-up rules.
What Happens When You Press Run
Provisioning
The instance asks Dataproc to build a cluster using the compute profile. This takes a few minutes.
Translation
The drawn pipeline is converted into a program for the processing engine.
Execution
The cluster reads the sources, applies the steps in parallel and writes the outputs.
Recording
Counts of records in and out, logs, metrics and lineage are saved to the instance.
Clean-up
The cluster is deleted so that charges stop.
sequenceDiagram
participant D as Developer
participant I as Data Fusion instance
participant P as Dataproc
participant S as Sources
participant K as Sinks
D->>I: Start pipeline run
I->>P: Create cluster from profile
P-->>I: Cluster ready
I->>P: Submit pipeline program
P->>S: Read data
S-->>P: Records
P->>P: Transform in parallel
P->>K: Write results
P-->>I: Report status and counts
I->>P: Delete cluster
I-->>D: Run finished with metrics
Start-up Time Matters
Because a cluster is created from nothing, even a tiny pipeline spends minutes starting up. For many short runs a day, this overhead can dominate. In such cases, a long-lived cluster, or combining several small jobs into one run, may be more efficient. For big nightly jobs, the start-up cost is negligible.
Hiring a taxi for each errand versus keeping a car in the garage. For a single long trip, the taxi is perfect. For ten short errands, the waiting time adds up, and owning a car, though it costs when parked, may be easier.
Using a huge cluster for a small dataset “just to be safe.” Larger clusters cost more per minute and take longer to start. Size the cluster to the data and increase only after measuring.
11Macros, Runtime Arguments and Reusable Pipelines
One well-designed pipeline can replace dozens of near-identical copies.
Macros
A macro is a named blank in a pipeline setting that is filled in when the pipeline starts. A file path could contain a date placeholder, a database name could be a placeholder, a threshold for rejecting rows could be a placeholder. At run time, values are supplied by a person, by a schedule, by a trigger from another pipeline, or by an external orchestrator.
Why Reuse Beats Copying
Parameterised Pipelines
- One design serves many dates, regions or customers
- A fix is made once and applies everywhere
- Easier to review and document
- Environments differ only by parameters
Copied Pipelines
- Each copy drifts away from the others
- A fix must be repeated and often forgotten somewhere
- Harder to know which version is correct
- Large numbers of near-duplicates clutter the instance
Preferences and Secure Values
Values such as environment names can be stored as preferences at instance or namespace level and shared across pipelines. Passwords and keys should not be typed into plain macros. Use the secure storage options provided by the service or integrate with Google Cloud’s secret management so that secrets are not visible in pipeline definitions.
A form letter with blanks for name and date, instead of retyping a whole new letter for every recipient. The wording is perfected once, and each use only fills in the blanks.
Treat the differences between development, test and production as parameters, not as separate designs. Promote the same pipeline through environments and change only the values.
12Scheduling, Triggers and Orchestration
A pipeline is only valuable if it runs reliably without anybody pressing a button.
Built-In Scheduling
Cloud Data Fusion can run deployed pipelines on a time schedule, such as every night at one o’clock, or on a trigger, such as “start this pipeline when that one succeeds.” Triggers let you chain pipelines into small workflows and pass values between them.
When You Need a Bigger Conductor
For complex workflows that span many systems, with branching, retries, dependencies on external events and notifications, many teams use Cloud Composer, a managed workflow orchestrator, to coordinate Data Fusion pipelines along with BigQuery jobs, file checks and other tasks. Composer decides what runs when, and Data Fusion does the data moving.
| Need | Good fit |
|---|---|
| Run one pipeline on a time schedule | Data Fusion’s own schedule |
| Run pipeline B after pipeline A succeeds | Data Fusion trigger |
| Coordinate many systems, branching and retries | Cloud Composer or a similar orchestrator |
| Start a pipeline when a file arrives | Event-driven approach using storage notifications and a lightweight function or workflow |
| Run simple SQL steps on a schedule | BigQuery scheduled queries may be enough |
flowchart LR
EV["File arrives or timer fires"] --> OR["Orchestrator: Composer or schedule"]
OR --> P1["Pipeline 1: ingest and clean"]
P1 --> P2["Pipeline 2: join and aggregate"]
P2 --> BQ["BigQuery reporting tables"]
BQ --> CHK["Quality check"]
CHK --> OK["Notify success"]
CHK --> BAD["Alert and stop"]
An airport. Each airline crew (a pipeline) knows how to fly a plane. The control tower (the orchestrator) decides who takes off when, who waits for whom, and what happens if the weather turns bad.
Scheduling pipelines with no failure notification. A quietly failing nightly job can leave reports stale for days before anyone notices. Always attach alerts and, where possible, a freshness check on the destination.
13Streaming and Real-Time Pipelines
When data cannot wait for tonight’s batch, streaming pipelines process events as they arrive.
How They Differ
A real-time pipeline runs continuously on a long-lived cluster. It reads from a stream such as Pub/Sub or a Kafka-style system, processes small groups of events, often called micro-batches, and writes them to a destination such as BigQuery. Because it never finishes, you monitor it rather than wait for completion. Availability of real-time pipelines depends on the edition, so check the current edition comparison.
Design Concerns
Late and Out-of-Order Events
Events from phones and devices can arrive late or in the wrong order. Decide how long to wait and how to handle stragglers.
Duplicates
Streams may deliver the same event twice. Design destinations or steps so that repeats do not produce wrong totals.
Continuous Cost
The cluster runs all day and night. Right-size it and consider whether a frequent micro-batch schedule would be enough.
Monitoring and Recovery
Track lag, the gap between events arriving and being processed, and plan how the pipeline restarts after a failure without losing or repeating data.
A river water treatment plant versus a bottled-water factory. The river plant must keep running without pause as water flows in, handling surges after rain. The bottled-water factory can finish a batch and stop.
Ask whether “every five minutes” is good enough. A frequent batch schedule is often far simpler and cheaper than a true streaming design while still meeting the business need.
14Replication: Keeping a Copy Up to Date
Sometimes the goal is not to transform data, but to keep a faithful copy of a database continuously available for analysis.
The Idea of Change Data Capture
Operational databases keep a log of every change. Replication reads that log and applies the same changes to a destination such as BigQuery, so the analytical copy stays close to current without repeatedly reading the whole source. This puts far less load on the source database than frequent full extractions. Cloud Data Fusion offers a replication feature for supported databases, generally in higher editions, and Google Cloud also provides separate services for change data capture, so compare options for your source and destination.
Replication versus Pipelines
| Question | Replication | Regular pipeline |
|---|---|---|
| Main goal | Mirror tables with minimal change | Reshape and enrich data |
| Freshness | Near real time | As often as scheduled |
| Load on source | Low, reads change log | Higher, reads tables |
| Transformation | Minimal | Rich |
| Typical follow-up | Transform inside the warehouse | Data already shaped on arrival |
A shared notebook. A regular pipeline is photocopying the entire notebook every night. Replication is a friend who watches you write and copies each new line into their own notebook as you write it.
Replicate source tables into a raw area of BigQuery with little change, then transform them there into reporting tables. This keeps the source light and keeps the raw copy available for rebuilding.
15Metadata, Lineage and Data Quality
Trust in data depends on knowing where it came from and whether it is right.
Metadata and Lineage
Cloud Data Fusion records which datasets were read and written by each run, what the schemas were and how fields flowed through the steps. This is visible as a lineage view. When a number on a report looks wrong, lineage lets you trace it backwards to the source field and the exact transformation that touched it. It also helps with impact analysis: before changing a source field, you can see which pipelines and outputs depend on it.
Data Quality in Practice
Row Count Checks
Compare records read with records written and with expected ranges. A sudden drop often means a source problem.
Field Rules
Required fields present, values within allowed lists or ranges, formats correct.
Duplicate Checks
Confirm keys that should be unique are unique before loading.
Reject Paths
Route rows that fail rules to a separate location, with a reason, instead of stopping the entire run or silently dropping them.
Freshness Checks
Verify that the destination has been updated recently enough.
Reconciliation
Compare totals between source and destination for key measures such as revenue.
Food labels and a quality inspector. The label tells you where the product came from and what it contains. The inspector checks a sample at the end of the line and sets aside anything that does not meet the standard, noting why.
Silently discarding bad rows. If rows disappear without a record, totals will be wrong and nobody will know why. Always keep rejected rows with a reason and report their count.
16Security, Access and Networking
Data pipelines touch your most sensitive systems. Security must be designed in from day one.
Who Can Do What
Access to the service is controlled with Google Cloud’s identity and access management. Different roles exist for people who administer instances, those who design and edit pipelines, those who only run them and those who only view results. Giving each person the smallest role that lets them do their job reduces risk. Separately, the service accounts used by the instance and by the clusters need permissions to read sources and write sinks, and these should be limited to exactly the data they need.
Two Identities to Understand
The Service Agent of the Instance
A Google-managed identity that lets the instance create and manage resources in your project, such as clusters. It needs the permissions Google documents for this role.
The Run Identity of the Cluster
The service account under which the pipeline code runs. It needs access to read sources and write sinks, and it also needs the role that lets it work with Data Fusion. Using a dedicated account for each environment makes access easier to audit.
Networking Choices
By default, an instance can be reached through a public interface protected by authentication. For stricter requirements, you can create a private instance that is reachable only from your own private network, using private connectivity between Google’s managed project and yours. Private instances are important when sources are on-premises or when policy forbids public exposure. They require careful planning of address ranges, firewall rules and name resolution, and they should be tested before production.
Protecting the Data
Encryption
Data is encrypted at rest and in transit by default. Customer-managed keys are an option when policy requires them.
Secrets Management
Keep passwords and keys in secure storage, not in pipeline text.
Masking and Tokenising
Hide or replace sensitive fields before they reach less-protected destinations.
Perimeters
Service perimeters can limit where data can flow and prevent copies leaving approved projects.
Audit Logging
Administrative actions and data access are recorded for investigation and compliance.
Namespaces for Separation
Use namespaces to keep teams’ pipelines and connections apart within one instance.
flowchart TD
USR["Authorised users with IAM roles"] --> INS["Private Data Fusion instance"]
INS --> NET["Private network connection"]
NET --> CL["Dataproc cluster with dedicated service account"]
CL --> SEC["Secret storage for passwords"]
CL --> SRC["On-premises or cloud sources"]
CL --> DST["BigQuery with column controls"]
AUD["Audit logs"] -.-> INS
AUD -.-> CL
A secure delivery depot. Staff have badges for the areas they need. The loading dock is accessible only through a guarded gate. Keys are stored in a locked cabinet, not taped to the vans. Cameras record every entry.
Running every pipeline under a powerful default service account with broad project access. If one pipeline is compromised or misconfigured, it could read or change everything. Use narrowly scoped accounts.
17Monitoring, Logging and Troubleshooting
Pipelines will fail sometimes. What matters is how quickly you notice and fix them.
Where to Look
Each run has a status, start and end times, record counts for every step and a log. Records in and out per box tell you where data is being lost or multiplied. Logs show errors from the program and from the cluster. Cloud Logging and Cloud Monitoring can collect the same information and drive alerts, dashboards and reports across all your pipelines.
Common Failure Causes
| Symptom | Likely cause | What to check |
|---|---|---|
| Run fails before reading any data | Cluster could not be created | Permissions, quotas, network ranges, region availability |
| Cannot connect to source | Network path or credentials | Firewall rules, private connectivity, password rotation |
| Run succeeds but record counts look wrong | Join keys or filters | Per-step counts, null keys, duplicate keys |
| Run is very slow | Skew, small cluster or heavy joins | Largest stages, key distribution, cluster sizing |
| Out-of-memory errors | Too much data per worker | Machine size, in-memory joins on large inputs |
| Schema mismatch errors | Source changed shape | New, removed or retyped fields |
| Intermittent failures at the same time daily | Source maintenance or load window | Source schedules and retry settings |
Alerting
Attach alerts to important pipelines so that failures send a message to a team channel or email. Also alert on the absence of success, for example no successful run in the last day, because a pipeline that never starts raises no failure. Include enough context in the message, such as pipeline name, run identifier and a link, so the person on call can act quickly.
Dashboard warning lights and a service history in a car. A light tells you something needs attention. The history tells you what changed recently. Both save time when you take the car to the mechanic.
Keep a short runbook for each critical pipeline: what it does, who owns it, what normally goes wrong and how to rerun it safely. Make sure reruns are safe, meaning a second run does not create duplicates.
18Performance Tuning
Faster pipelines finish earlier, cost less and are easier to schedule.
The Main Levers
Reduce data early
Filter rows and drop unused fields right after the source.
Read in parallel
Database sources can split reads across ranges of a numeric key so many workers read at once, within what the source can tolerate.
Use efficient file formats
Columnar compressed formats such as Parquet read faster and smaller than plain text.
Choose join strategies carefully
Use in-memory joins for small reference inputs and balance keys for large joins.
Right-size the cluster
Test with different worker counts and machine sizes. More is not always faster, as coordination overhead grows.
Write efficiently
Batch writes into warehouses and avoid generating a huge number of tiny output files.
Move heavy transformations to the warehouse
Let BigQuery do large aggregations and joins when that is simpler and faster.
Moving house. Throw away what you do not need before packing, pack in standard boxes, send several people to carry at once, and book a truck matching the load. Hiring ten trucks for three boxes is waste, and a single bicycle for a sofa is folly.
Reading a production database with many parallel readers during business hours. A fast pipeline that slows the application for customers is a bad trade. Agree a safe read window and a read replica where possible.
19Cost and Pricing
Cost comes from two places: keeping the instance available and the compute used when pipelines run.
The Cost Pieces
The Instance
Charged for the time the instance exists, at a rate that depends on its edition. It accrues even when no pipeline is running, so unused instances should be deleted.
Pipeline Compute
The Dataproc clusters or other compute used for runs are billed separately at their own rates for the minutes they exist.
Sources and Sinks
Reading and writing to warehouses, storage and databases carries their own storage, query and request charges.
Network
Moving data between regions or out of Google Cloud can incur transfer charges.
Supporting Services
Orchestration, logging and monitoring add small but real costs.
Exact prices, free allowances and edition rates change and vary by region, so always use the current pricing page and the Google Cloud pricing calculator for estimates. The practical point is that edition choice sets a baseline, while pipeline design determines the rest.
Ways to Save
Delete idle development instances
Developer instances left running for months add up. Schedule reviews of every instance.
Use ephemeral clusters
Let clusters disappear after each run, and set idle time limits for any that you keep.
Size clusters to the work
Measure and tune rather than guess.
Consider lower-cost machine options for tolerant jobs
Interruptible capacity can lower compute cost for batch jobs that can safely be retried.
Combine small jobs
Many tiny pipelines each paying cluster start-up time are wasteful. Merge them or use a shared cluster.
Keep data and processing in the same region
Avoids transfer charges and speeds up reading and writing.
Label everything
Labels on clusters and projects allow cost to be tracked per team and pipeline.
Do a monthly review: list every instance, every long-running cluster and the top pipelines by compute time. Costs hide in forgotten resources far more often than in busy ones.
20Environments, Promotion and Team Practices
Pipelines are software, and deserve the same care as application code.
Separate Environments
Use separate instances or at least separate namespaces and projects for development, testing and production. Developers experiment freely in development, a test environment uses realistic but safe data, and production changes are deliberate and reviewed. Keep production credentials out of reach of casual experiments.
Exporting and Versioning
Every pipeline can be exported as a text definition file. Store these files in a version control system so that changes are tracked, compared and reviewed, and so that you can roll back to an earlier version. Automated deployment tools can import the definitions into the next environment with environment-specific values passed in as parameters, giving a repeatable promotion path.
flowchart LR
DEV["Development instance: design and preview"] --> EXP["Export pipeline definition"]
EXP --> VC["Version control and review"]
VC --> TST["Test environment: realistic data checks"]
TST --> APP["Approval"]
APP --> PRD["Production instance: scheduled runs"]
PRD --> MON["Monitoring and alerts"]
MON -.-> DEV
Team Habits That Help
Naming Standards
Agree on how to name pipelines, namespaces and connections so anyone can find and understand them.
Peer Review
Have a second person review pipeline changes the way code is reviewed, looking at joins, filters and error handling.
Documentation
Add descriptions to pipelines and notes on the canvas explaining non-obvious decisions.
Ownership
Every pipeline has a named owner and a backup, so questions and failures have an obvious destination.
A publishing house. Authors draft in a private room, editors review, a proofreader checks the final text, and only then does the book go to the printers. Skipping steps saves time until the first embarrassing error appears in print.
21Advantages, Disadvantages and Trade-offs
Every approach has strengths and costs. Here is an honest balance sheet.
Advantages
- Visual design that non-programmers can read and maintain
- Large library of ready-made connectors and transformations
- Managed service: no installation or patching of the platform
- Ephemeral clusters: compute paid only while pipelines run
- Built-in preview, metadata and lineage
- Open-source foundation reduces lock-in of pipeline logic
- Good integration with BigQuery, Cloud Storage and Dataproc
Disadvantages / Trade-offs
- Always-on instance cost even when idle
- Cluster start-up adds minutes to every run
- Visual tools can become cluttered for very complex logic
- Some advanced features depend on the higher edition
- Private networking setup needs careful planning
- Highly custom logic may require developer-written plugins
- Heavy SQL-style transformation is often simpler inside the warehouse
The Decision in One Sentence
Choose Cloud Data Fusion when you want a visual, governed way to move and prepare data from many different systems, and prefer drawing and configuring pipelines to writing and maintaining code.
22Comparing Cloud Data Fusion with Other Services
Google Cloud offers several ways to move and transform data. Choose by the job and the team.
| Option | Style | Choose it when |
|---|---|---|
| Cloud Data Fusion | Visual, plugin-based, managed pipelines on Spark | Mixed skill teams, many connectors, visual governance and lineage |
| Dataflow | Code-based streaming and batch pipelines, fully serverless | Developers need fine control, custom logic and high-scale streaming |
| Dataproc | Managed Spark and Hadoop clusters | Existing Spark or Hadoop code that you want to run as it is |
| BigQuery SQL and Dataform | SQL-based transformation inside the warehouse | Data already in BigQuery and transformations expressible in SQL |
| Datastream | Serverless change data capture | Continuous replication from databases into Google Cloud |
| BigQuery Data Transfer Service | Scheduled managed imports | Loading from supported SaaS, advertising and storage sources with minimal setup |
| Cloud Composer | Workflow orchestration | Coordinating many tasks across systems, including Data Fusion pipelines |
A Simple Way to Decide
Ask four questions. First, does your team prefer visual design over code? If so, Data Fusion is attractive. Second, is the data already in BigQuery and the changes expressible in SQL? Then use SQL tools and skip a separate integration service. Third, do you need heavily customised streaming logic at very high scale? Look at Dataflow. Fourth, do you only need a continuous copy of a database? Consider Datastream or the replication feature. Many mature platforms combine several of these, each doing what it does best.
Different ways of cooking. Data Fusion is a recipe kit with step pictures, perfect for a mixed team. Dataflow is a professional chef’s knife set for people who want full control. BigQuery SQL is a high-end oven that bakes what is already in the kitchen. Dataproc is bringing your own cooking equipment. A good restaurant often uses more than one.
Product lineups evolve. Before a large decision, check current documentation for how Data Fusion, Dataflow and other Google Cloud services are positioned and whether any have changed in scope or availability.
23Design Patterns That Work
A pattern is a proven shape for a solution. These recur in healthy Data Fusion environments.
Pattern: Land Raw, Then Refine
Load source data unchanged into a raw area, then clean and model it in later steps. Mistakes can be corrected by rerunning from the raw copy.
Pattern: Incremental Loads
Process only new or changed data each run, using a date or change marker passed in as a macro, instead of reloading everything.
Pattern: Reject and Review
Send failing records to a separate table with reasons, count them, and review them regularly.
Pattern: Parameterised Template Pipelines
One pipeline design with macros serves many similar sources, regions or customers.
Pattern: Reference Data Enrichment
Join large event data with small reference tables using in-memory joins to add names, categories and regions cheaply.
Pattern: Hand Off to the Warehouse
Use Data Fusion for extraction and basic cleaning, then let BigQuery handle large joins and aggregations with SQL.
Pattern: Check Before Publish
Load into a staging table, run quality checks, and only then swap or merge into the table that reports read from.
Pattern: Idempotent Reruns
Design every pipeline so running it twice for the same period gives the same result, using overwrites of a period or key-based merges.
flowchart TD
SRC["Sources: databases, files, SaaS"] --> RAW["Raw landing in Cloud Storage or BigQuery"]
RAW --> CLN["Cleaning pipeline with reject path"]
CLN --> STG["Staging tables"]
STG --> QC["Quality checks"]
QC -->|"pass"| PUB["Published reporting tables"]
QC -->|"fail"| ALR["Alert and hold"]
CLN --> REJ["Rejected rows with reasons"]
PUB --> BI["Dashboards and analytics"]
PUB --> ML["Machine learning"]
24Anti-Patterns to Avoid
An anti-pattern looks like a good idea but quietly causes trouble. These are the most common.
Problem
Leaving development instances running indefinitely and forgotten.
Why It’s Harmful
The instance is billed for every hour it exists, so idle pilots quietly cost money for months.
Correct Approach
Track every instance with an owner and an end date, and delete those no longer used.
Problem
Copying a pipeline for every small variation instead of using macros.
Why It’s Harmful
Copies drift apart, fixes are applied unevenly, and nobody knows which version is right.
Correct Approach
Parameterise one pipeline with macros and runtime arguments.
Problem
Putting passwords directly into plugin settings or plain macros.
Why It’s Harmful
Anyone who can view or export the pipeline can see the secret, and it travels into version control.
Correct Approach
Use secure storage and secret management, and reference secrets instead of pasting them.
Problem
Silently dropping rows that fail rules, with no record of them.
Why It’s Harmful
Totals become wrong and the cause is nearly impossible to find later.
Correct Approach
Route rejected rows to a reject destination with a reason and report the count.
Problem
Doing enormous joins and aggregations in the pipeline when the data is already in BigQuery.
Why It’s Harmful
Data is pulled out to a cluster and pushed back, adding time and cost that SQL inside the warehouse would avoid.
Correct Approach
Use Data Fusion to bring data in, then transform inside BigQuery or use pushdown where available.
Problem
One oversized pipeline with dozens of boxes doing unrelated jobs.
Why It’s Harmful
It is hard to read, test and rerun, and one failure blocks everything.
Correct Approach
Split into focused pipelines with clear inputs and outputs, chained through triggers or an orchestrator.
Problem
Running every pipeline under one powerful service account and with no failure alerts.
Why It’s Harmful
A single mistake can touch every dataset, and failures go unnoticed for days.
Correct Approach
Use narrowly scoped accounts per environment and attach alerts and freshness checks to important pipelines.
25Best Practices and Common Mistakes
A checklist of habits shared by teams that run Data Fusion calmly.
Do This
- Choose the edition and region deliberately before building
- Use named connections and macros for anything that changes
- Preview with samples from several periods and sources
- Filter early and keep only the fields you need
- Land raw data first and keep it for rebuilding
- Send bad rows to a reject path and review them
- Use dedicated, least-privilege service accounts
- Version-control exported pipelines and promote them through environments
- Alert on failures and on missing successes
Avoid This
- Building production on a learning-grade instance
- Hard-coding dates, paths and passwords
- Copying pipelines instead of parameterising them
- Oversizing clusters without measurement
- Using a streaming design where frequent batch would do
- Reading production databases heavily during peak hours
- Leaving idle instances and clusters unreviewed
Start Small, Then Grow
Begin with one valuable pipeline, such as loading a single important table into BigQuery. Get its network, permissions, scheduling, alerts and cost visible and understood. Then copy the proven approach for the next pipeline. Teams that start with fifty pipelines at once find the same setup problems fifty times.
Plan for Change
Sources change: columns are added, renamed or removed. Decide in advance how pipelines will react. Some can tolerate extra fields, others should fail loudly so someone fixes them. Either way, make the behaviour a decision, not an accident.
Plan for Upgrades
The service is managed, but versions of the platform and plugins still evolve. Keep a test environment where you can try an upgrade and run your key pipelines before applying it to production, and read the release notes for changes that affect you.
Assuming “no code” means “no engineering.” Visual pipelines still need good design, testing, security, monitoring and ownership. The drawing is easier than code, but the discipline is the same.
26Real-World and Industry Scenarios
These are illustrative scenarios showing how organisations typically use Cloud Data Fusion, not claims about specific companies.
Retail: Unifying Stores and Online Sales
Point-of-sale databases in hundreds of stores, an online shop and a loyalty programme each export data differently. Pipelines clean and align them nightly into BigQuery, giving one view of sales, stock and customers.
Banking: Migrating from On-Premises Warehouses
A bank moves reporting from an aging on-premises warehouse to the cloud. Private instances connect securely to internal databases, masking steps hide sensitive fields, and lineage supports audit questions.
Healthcare: Combining Clinical and Operational Data
Appointment, billing and device data are standardised and de-identified before analysis. Strict roles, perimeters and audit logs protect sensitive information.
Manufacturing: Plant and Supplier Data
Machine readings and supplier delivery files are collected, cleaned and combined so planners can see delays and quality trends in one place.
Telecommunications: Usage and Billing Consolidation
Large daily usage files and customer records are joined and summarised on schedule, with reject paths for malformed records.
Marketing: Combining Campaign Sources
Spreadsheet exports from agencies and platform reports are cleaned with Wrangler recipes and loaded into one table for attribution.
Insurance: Claims Data Consolidation
Claims from regional systems with different formats are standardised and enriched with reference data to support fraud analysis.
Public Sector: Open Data Publishing
Departmental files are cleaned, de-identified and published to shared datasets on a regular schedule with documented lineage.
27Frequently Asked Questions
No. It is an integration service that moves and prepares data between systems. The data itself lives in your sources and destinations.
Most pipelines can be built visually without code. For unusual sources or very custom logic, developers can write plugins or use steps that accept small snippets of logic.
Usually a temporary Dataproc cluster in your project, running the pipeline as a Spark program. The instance orchestrates and records, and the cluster does the heavy processing.
Because a cluster must be created before the pipeline starts and removed after. For many small frequent jobs, consider combining them or using an existing cluster.
Developer for learning, Basic for production batch pipelines, and Enterprise when you need streaming, replication or the strictest availability and governance. Confirm the current feature list before deciding.
It is an interactive area for exploring a sample of data and building cleaning steps by clicking. The steps become a transformation you can add to a pipeline.
Use macros for values that change, and supply their values at run time through schedules, triggers or an orchestrator.
Yes, using private connectivity between your network and Google Cloud, and a private instance if policy requires. Plan the network path carefully and test it early.
You pay for the instance for the time it exists, at a rate depending on its edition, plus the compute and services used when pipelines run. Use the current pricing page and calculator for estimates.
Use lineage to trace fields back through the pipeline steps to the source. Combine it with good naming and documentation.
Real-time pipelines are available in editions that support them. Consider whether frequent batch runs would meet your need more simply and cheaply.
Data Fusion suits visual, connector-rich work by mixed teams. Dataflow suits developers who want code-level control and serverless scaling, especially for demanding streaming. Many organisations use both for different jobs.
Export the pipeline definition, store it in version control, review it, and import it into the target environment with environment-specific values supplied as parameters.
Skipping design discipline: hard-coding values, ignoring rejected rows, leaving idle instances running and skipping alerts. Build the habits early, while the first pipelines are small.
28Summary and Key Takeaways
Cloud Data Fusion is Google Cloud’s managed, visual data integration service, built on the open-source CDAP framework. You design pipelines in Pipeline Studio by connecting plugins for sources, transformations and destinations, and you clean data interactively in Wrangler. The always-available instance stores designs, schedules runs and records metadata, while the actual work happens on temporary Dataproc clusters that appear for a run and disappear afterwards. Editions let you match capabilities and cost to your needs, from learning to enterprise production with streaming and replication.
The habits that matter most are simple. Parameterise with macros, preview with representative samples, filter early, keep rejected rows, secure credentials and use narrow service accounts, monitor and alert on both failures and missing successes, and manage cost by deleting idle instances and right-sizing clusters. Combine Data Fusion with BigQuery for warehouse-side transformation and with an orchestrator when workflows grow. With these practices, a small team can build clear, trustworthy data pipelines that anyone can read at a glance.
Key Takeaways
- A visual, managed integration service — Cloud Data Fusion lets you draw pipelines from ready-made plugins, built on open-source CDAP, without managing the platform itself.
- Design and execution are separate — the instance holds designs, schedules and lineage, while temporary Dataproc clusters do the processing and then disappear.
- Choose the edition on purpose — Developer for learning, Basic for production batch, Enterprise for streaming, replication and advanced governance; verify current features and prices.
- Reuse and parameterise — macros, connections and exported definitions in version control keep pipelines consistent across environments.
- Protect data and design for quality — least-privilege roles, dedicated service accounts, private instances when needed, secret management, masking, reject paths and lineage.
- Control cost and performance — delete idle instances, use ephemeral and right-sized clusters, filter early, and push heavy transformation to BigQuery when data is already there.
- Pick the right tool for the job — use Data Fusion for visual, connector-rich integration, and consider Dataflow, BigQuery SQL, Datastream or Composer where they fit better.