Most Snowflake-to-BigQuery migration tools assume cloud infrastructure (Dataproc, Cloud Storage, DMS) or require setting up Fivetran at $1,000+/month. QueryFlow runs on your Mac, connects to both warehouses, and migrates data through scheduled pipelines for $299.99/year flat.
Quick answer: QueryFlow migrates data from Snowflake to BigQuery through scheduled pipelines running locally on your Mac. It connects to Snowflake via REST SQL API v2 with PAT authentication and writes to BigQuery via service account authentication. Pipelines support full snapshot, incremental, and CDC patterns. Available on Mac App Store for $299.99/year.
Common approaches today: Google's native BigQuery Data Transfer Service with Snowflake connector (free but cloud-only setup), the snowflake2bq tool with Cloud Storage staging (requires shell scripting), Fivetran or Stitch ($1,000+/month managed service), Estuary Flow (subscription tier), or custom Spark/Dataproc pipelines (requires data engineering expertise). All are valid; none are particularly accessible to a Mac-based data engineer who wants to run a migration locally.
Connect both Snowflake (PAT authentication) and BigQuery (service account credentials) to QueryFlow as separate connections. Build a pipeline with Snowflake as source and BigQuery as destination. Map fields with AI Map for automatic schema reconciliation. Choose snapshot (full table replication) or incremental (timestamp-based or sequence-based change tracking). Schedule the pipeline to run daily, hourly, or on cron. Monitor runs in the Observatory dashboard.
Snowflake and BigQuery have different but largely compatible data types. QueryFlow's pipeline handles the mapping: Snowflake NUMBER(38,0) → BigQuery NUMERIC, VARIANT → STRING (JSON-formatted), TIMESTAMP_TZ → TIMESTAMP, ARRAY → ARRAY. Custom transformations via Flow Books handle edge cases (Snowflake-specific GEOGRAPHY types, custom UDFs, etc.).
Full table snapshots work for small to medium tables (under a few million rows). For larger tables, incremental patterns reduce cost and time: timestamp-based (track a LAST_MODIFIED column, only sync rows updated since last run), sequence-based (track an auto-increment ID), or CDC-based (use Snowflake Streams to capture changes). Each pattern is configurable per pipeline.
Fivetran's Snowflake-to-BigQuery sync starts around $1,000-3,000/month depending on volume. Stitch starts around $100/month for small volumes, scaling up. QueryFlow is $299.99/year flat — about $25/month — with no per-row, per-table, or per-connector pricing. The tradeoff is operational responsibility: QueryFlow runs on your Mac, so you're responsible for keeping the Mac on or accepting that scheduled runs catch up when it wakes.
If your organization can't tolerate any operational responsibility for the migration (must run 24/7 on cloud infrastructure with SLAs), Fivetran, Stitch, or Estuary Flow are the right choice. If you have hundreds of tables to migrate continuously with strict freshness requirements, managed CDC tools justify their cost. For most Snowflake-to-BigQuery migrations at small-to-medium scale, especially one-time migrations or scheduled batch syncs, QueryFlow handles the work for a fraction of the price.
Before running your first pipeline: confirm Snowflake PAT scope includes the source tables, confirm BigQuery service account has dataset create and table write permissions, audit data types in source tables for Snowflake-specific types needing conversion, estimate row counts to choose snapshot vs incremental, and plan your incremental tracking column if going incremental. QueryFlow's Schema Explorer shows you all of this before you build the pipeline.
Yes. VARIANT and OBJECT columns are exported as JSON strings to BigQuery, where they can be queried with BigQuery's JSON functions. For more structured handling (extracting specific fields into typed columns), use a Flow Book to parse the JSON in Python before writing to BigQuery.
Snowflake's row-level security policies apply at query time, so when QueryFlow queries the source, it sees only rows the connected user/role has access to. BigQuery destinations inherit the dataset-level permissions configured for the service account. Object-level access in either system needs to be configured outside QueryFlow.
QueryFlow can technically handle very large one-time migrations, but the bottleneck becomes network bandwidth and Snowflake/BigQuery API throughput rather than the tool. For migrations of 100M+ rows where 24-48 hour runtimes are acceptable, QueryFlow works. For migrations requiring sub-hour SLAs at that scale, managed services with parallel cluster compute are more appropriate.
Yes. When creating destination tables, QueryFlow can configure partitioning (by date column or ingestion time) and clustering. For existing partitioned destination tables, QueryFlow respects the partition schema when writing.
Yes. QueryFlow supports either direction. You can build a pipeline with BigQuery as source and Snowflake as destination using the same OAuth and connection model. Some teams run bidirectional syncs (different tables in different directions) for hybrid warehouse strategies.
14-day free trial. Build your first warehouse migration pipeline in under 10 minutes.