liveBook · Manning

Execution environment

As explained in Snowflake Data Engineering

A development environment is an environment in which software is developed and modified before formal testing.

A programming environment is the workspace where software or data-pipeline code is created, modified, prototyped, unit-tested, and optimized before formal testing or production deployment. It may be a local computer setup or a shared development environment. section 6.3 section 15.1

Prepare a local environment for Snowpark Python development:

  • Install Python locally, using a version supported by Snowflake. section 6.3.1
  • Create a virtual environment with conda or venv. section 6.3.1
  • Install the snowflake-snowpark-python package with conda or pip. section 6.3.1
  • Use an IDE such as Visual Studio Code, configured to use the supported Python version. section 6.3.1

Use the development environment to build prototypes, compare implementation options, maintain pipeline code, and share changes through a centralized repository. Deploy completed code to test, user acceptance, and production environments according to organizational needs. section 15.0 section 15.1

Table 15.1 Types of data testing and the data they require
Test type
Data requirements
Data pipeline functionality
Small data sample
Data pipeline performance
Data volume similar to the production data volume
Data integrity
Data that closely resembles the data from the production environment
Data governance features
When production data contains sensitive information that should not be shared in the development and test environments, generated data or masked data can be used for testing.

Choose test data according to the validation goal: samples for functionality, production-scale volumes for performance, representative data for integrity, and masked or generated data for governance testing. section 15.1

How Snowflake Data Engineering covers it

How deep it goes
Details local Python setup and environment separation, but defers exact installation commands and deployment implementation.
Examples
Uses a local Python setup, an IDE, a centralized Git repository, and separated development, test, UAT, and production environments.
What it assumes
Assumes basic computer access and Python availability while teaching virtual environments, package installation, and IDE configuration.
What you can do after
Build and maintain Snowpark Python applications and data pipelines before deploying them through controlled environments.
How it connects
Connects Snowpark Python and SQL API development with continuous integration, continuous delivery, test environments, and production environments.

Also explained in

Compare how 3 books explain execution environment →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Snowflake Data Engineering. The section links point to the parts of the book it draws on.