Introduction
The FME Remote Engine Service for Snowflake allows FME workflows to run directly inside Snowflake using Snowpark Container Services.
When your data is already stored in Snowflake, this enables you to execute transformation logic in the same environment as your database. Instead of moving data out to external infrastructure for processing, computation happens in place.
FME Flow remains external to Snowflake and continues to manage job submission, scheduling, and automation. The Remote Engine handles execution inside Snowflake.
This model is designed for environments where Snowflake is the primary data platform and minimizing data movement is a priority.
For a general overview of Remote Engines outside of Snowflake, see Leverage Remote Engine Service in FME Flow. That article covers core concepts such as engine behavior and job routing.
Why Use Remote Engines in Snowflake
Running FME inside Snowflake shifts processing from external infrastructure into the data platform itself.
This enables you to:
- Eliminate unnecessary data movement between systems
- Keep processing within Snowflake’s security and governance boundaries
- Align compute directly with Snowflake virtual warehouses
- Reduce infrastructure complexity and operational overhead
When This Model Makes Sense
This approach is a strong fit when:
- Snowflake is your primary system of record
- Workflows are largely table-driven or SQL-adjacent
- Most inputs and outputs remain within Snowflake
- External system dependencies are minimal or controlled
Execution Considerations
Remote Engines are optimized for in-platform execution against Snowflake-resident data. Jobs run within Snowflake and inherit its networking, security, and access controls.
For large-scale transformations, this can significantly reduce latency and overhead by avoiding cross-system data transfer.
External access is supported where needed. Remote Engines can:
- Call external APIs
- Interact with external stages (e.g., S3)
- Connect to approved endpoints configured in Snowflake
All external interactions follow Snowflake’s security model.
Recommended patterns:
- Keep large datasets in Snowflake tables or stages
- Trigger jobs using parameters rather than passing bulk payloads
- Size warehouses based on workload characteristics
This model delivers the most value when the majority of processing stays within Snowflake.
Architecture Overview
In this model:
- Data resides in Snowflake, including databases, streams, and external tables
- Workflows are authored in FME Form and submitted through FME Flow
- FME Flow handles orchestration, including job scheduling, submission, and routing via a public endpoint
- FME Flow Remote Engines are deployed within the Snowflake environment (via Snowpark / Marketplace) and perform the data processing
- Processing occurs close to the data, reducing data movement
- Results are written back to Snowflake for downstream consumption (e.g., BI, applications, or data sharing)
An existing FME Flow deployment is required. This can be on-premises, self-managed in the cloud, containerized, or provided as FME Flow Hosted.
This architecture shifts execution into Snowflake while preserving FME Flow as the central orchestration layer.
Requirements
Before installing the Remote Engines Service, ensure you have:
In your FME environment:
- An existing FME Flow Core installation, version 2025.1 or greater
- Administrative access to configure engines and job routing in FME Flow
- Permissions to configure network access, ingress, and egress policies as required
In your Snowflake environment:
- A Snowflake account with Snowpark Container Services enabled
- Permission to install Snowflake Native Apps
- Permission to create a user
- A designated Snowflake virtual warehouse for execution
Offerings
The Snowflake Remote Engines Service can be deployed in two ways.
One is for production applications where you already have an existing FME Flow environment, so you can run the specific version that matches your existing FME Flow.
The second is using the trial offering. This version will be the latest public release and can be used with a FME Flow trial. This can assist in prototyping or a proof-of-concept exercise before committing to purchasing the software.
Articles
Getting Started with FME Remote Engines Service in Snowflake
Step-by-step instructions for installing the Snowflake Native App, configuring roles and grants, registering the Remote Engine with FME Flow, and validating execution.
Additional Resources
Webinar: Build Next-Gen Spatial & Sensor Workflows: Secure, Scalable Processing in Snowflake
Explore how to build scalable spatial and sensor data pipelines in Snowflake using FME. Covers execution models, governance considerations, and deployment patterns.
Blog: 5 Key Benefits of Running FME Remote Engines Inside Snowflake
This blog post highlights key reasons organizations choose to run FME directly inside Snowflake, from simplifying infrastructure to strengthening governance and scalability.
Tutorials: Getting Started with Snowflake
Guides and tutorials for building and publishing Snowflake-based workflows in FME. Start here if you are new to working with Snowflake in FME or want to design workflows before considering Remote Engines.
FAQ
Do I still need FME Flow?
Yes. An existing FME Flow Core installation is required. Remote Engines extend FME Flow, they do not replace it.
Is this required to use Snowflake with FME?
No. FME already supports Snowflake through standard database connections and engines. Remote Engines provide an additional execution option.
Does data leave Snowflake during processing?
FME jobs execute inside Snowflake. Data remains within the Snowflake environment unless explicitly configured to interact with external systems or stages.
How do I transfer files and connections from my FME Flow core installation?
When a job is submitted to a remote engine, the workspace, along with any file and connection dependencies, are uploaded to the remote engine for execution. This happens automatically and can be observed in the core job log. If a file or connection already exists on the remote engine, and it hasn’t changed, it will not be reuploaded.