Skip to content

Running a real development workflow: notebooks, git, dbt projects, and deployment

Snowflake supports modern DevOps practices for managing SQL and code artifacts through native Git integration, CLI tooling, and zero-copy cloning, enabling repeatable, version-controlled deployments across dev/test/prod environments. Data engineers should know how to structure CI/CD pipelines, manage schema changes idempotently, and separate environments using Snowflake's native constructs rather than ad hoc scripts.

1 · Learn the must-know

  • Snowflake's native GIT REPOSITORY object lets you connect directly to a Git provider (e.g., GitHub, GitLab, Bitbucket) and execute or reference SQL/Python files directly from the repo using EXECUTE IMMEDIATE FROM @git_repo/branch/file, removing the need for external orchestration for simple pulls.
  • Zero-copy cloning (CREATE DATABASE/SCHEMA/TABLE ... CLONE) is the standard way to spin up isolated dev/test/staging environments instantly without duplicating storage, supporting safe experimentation before promoting code to production.
  • CREATE OR ALTER TABLE/VIEW (and similar idempotent DDL) allows migration scripts to be re-run safely without dropping and recreating objects, which is critical for version-controlled schema change management.
  • The Snowflake CLI (snow) and SnowSQL enable scripting deployments, parameter substitution, and automation that integrate into CI/CD pipelines (e.g., GitHub Actions, Azure DevOps, Jenkins) for promoting code across environments.
  • Environment separation in Snowflake is typically implemented via naming conventions and separate databases/schemas (dev, qa, prod) combined with role-based access control, rather than separate accounts, to simplify code promotion.
  • Task graphs, streams, and stored procedures should be deployed as complete units with their dependencies (e.g., root task and child tasks together) since partial deployment can break scheduling or data change tracking.

2 · Check your understanding

Check this objectiveFree · always available

A Data Engineer manages deployment scripts inside a remote GitHub repository. The engineer has already created a Snowflake Git repository object, DEV_DB.PUBLIC.ETL_REPO, backed by an API integration and a stored personal access token secret. The next release must run the file scripts/deploy_v3.sql from the repo's release branch directly inside Snowflake, with no intermediate download to a local machine and no separate data-loading stage involved. Which command accomplishes this?

Your objective map0 tried · 0 answered correctly · 22 untouched

What you have tried across SnowPro Advanced Data Engineer's objectives, not a readiness score.

Data Movement28% of the exam*0 of 7 tried
Performance Optimization19% of the exam*0 of 3 tried
Storage and Data Protection14% of the exam*0 of 3 tried
Data Governance14% of the exam*0 of 2 tried
Data Transformation25% of the exam*0 of 7 tried

* Our estimate. Snowflake publishes no section weights.

3 · Keep going