Snowpark

Product · Developer tool by Snowflake

Build and run Python, Java, and Scala applications directly in Snowflake.

Snowpark is a developer framework for building data pipelines and ML models using Python, Java, and Scala directly inside Snowflake. It allows developers to run non-SQL code next to their data for better performance, security, and simplified architecture.

Category: Developer Tools

Editors and tools
Jupyter, VS Code, IntelliJ
Deployment
Fully managed Snowflake engine, Snowpark Container Services
Supported Languages
Python, Java, Scala
Core Abstraction
DataFrame
Execution Model
Lazy Execution with Pushdown
Deployment Types
UDFs, Stored Procedures, Containers

Overview

Snowpark is Snowflake's developer framework that enables data engineers, data scientists, and developers to build and run applications using Python, Java, and Scala directly within the Snowflake AI Data Cloud. It provides a set of libraries and runtimes that execute code on Snowflake's elastic compute engine, eliminating the need to move data to external systems for processing. By running code next to the data, Snowpark ensures high performance through pushdown optimization and maintains consistent security and governance. The framework supports the entire development lifecycle, from building reliable data pipelines to training and deploying machine learning models.

Developer Framework

Application & ML Development

Use cases

Specifications

Editors and tools
Jupyter, VS Code, IntelliJ
Deployment
Fully managed Snowflake engine, Snowpark Container Services
Supported Languages
Python, Java, Scala
Core Abstraction
DataFrame
Execution Model
Lazy Execution with Pushdown
Deployment Types
UDFs, Stored Procedures, Containers
IDE Support
VS Code, IntelliJ, Jupyter
ML Components
Model Registry, Feature Store, Datasets
Client Libraries
Java, Python, Scala API libraries

How it works

  1. Select Language and Library: Developers choose their preferred language (Python, Java, or Scala) and download the corresponding Snowpark library.
  2. Develop with DataFrame API: Code is authored using the DataFrame API in local IDEs like VS Code or directly in Snowflake Notebooks.
  3. Pushdown Execution: The Snowpark library translates the code into SQL and pushes the execution down to Snowflake's elastic engine.
  4. Deploy and Scale: Applications are deployed as UDFs, stored procedures, or containerized services within the Snowflake environment.

FAQ

What programming languages does Snowpark support?

Snowpark currently provides libraries for three primary languages: Java, Python, and Scala.

What is lazy execution in Snowpark?

Snowpark operations are executed lazily on the server, meaning data transformation is delayed until as late as possible to reduce data transfer and improve performance.

Does Snowpark support pushdown optimization?

Yes, Snowpark supports pushdown for all operations, including Snowflake UDFs, ensuring that heavy lifting is done within the Snowflake data cloud.

Added by AntSpace from public sources (docs.snowflake.com).

Related

More products by Snowflake