KNOWLEDGE BASE · DESTINATIONS · PIPELINES

Send query results into a BigQuery or Databricks table.

By Chris Davidson, founder of yForest · Updated September 26, 2026

Deliver a job's results straight into a table. The destination uses the connection you already added, so you never re-enter credentials.

Get QueryFlow on the Mac App Store →

BigQuery and Databricks are new job destinations in 1.7, alongside S3, SFTP and email. A destination doesn't ask for a hostname or a key of its own, it points at a connection you've already set up under Databases and reuses it.

Before you start

Steps

  1. Click the + button next to Destinations.
  2. Under TYPE, choose BigQuery or Databricks.
  3. Pick your connection in Connection.
  4. Enter the Target Table (e.g. dataset.table_name).
  5. Choose Write Mode: Append (INSERT) or Replace (TRUNCATE + INSERT).
  6. Name it and click Save Destination.
  7. When scheduling a job, pick this destination under Database.
QueryFlow Destinations screen in the redesigned layout, shown here with an S3 destination selected
The Destinations screen's new layout — BigQuery and Databricks destinations follow the same shape.

Replace runs TRUNCATE then INSERT, which is a destructive operation on the target table. If you're not sure whether Append or Replace is right, start with Append; you can switch a destination's write mode later without losing the connection.

A destination is a saved shape, not a live pipe: it remembers the connection, the target table and the write mode, so setting up the same delivery twice for two different jobs is a matter of picking the same destination from a list rather than filling in the fields again. That's the same idea Reusable Destinations covers for every destination type, not just warehouse tables.

Worth deciding up front whether the target table is one this job owns outright or one other processes also write to. Replace is fine for a table only this job populates, a nightly snapshot for example, but it will erase anything another job or a person wrote there between runs. Append is the safer default whenever more than one thing might be writing to the same table.

The account or service principal behind the connection needs write access on the target, which is a separate grant from whatever lets it read. BigQuery Data Editor and Databricks MODIFY are the roles to check first if a job that used to only query now fails once you point a destination at the same connection.

If you need something more than a plain append or a full replace, a merge that inserts new rows and updates matching ones on a key column, that's what Data Sync is for rather than a job destination. A job destination is deliberately simple: two write modes, no field mapping, no match key. Reach for Data Sync once the delivery needs to be smarter than that.

If something goes wrong

If you seeFix
No BigQuery connections available. Add a BigQuery connection under Databases first.Add the connection first (tutorial 1).
Job fails on writeGive the account write access (BigQuery Data Editor, or MODIFY in Databricks).
Rows disappearedReplace empties the table first. Use Append to keep history.

Related

Schedule a BigQuery or Databricks query Sync data with Data Sync
Upsert into BigQuery or Databricks Save a destination once, use it everywhere Every destination QueryFlow supports

See Studio and Pipelines pricing.